@j0hanz/memdb 1.2.6 → 1.2.8

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 (54) hide show
  1. package/dist/config.d.ts +2 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +15 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/core/db.d.ts +1 -0
  6. package/dist/core/db.d.ts.map +1 -0
  7. package/dist/core/db.js +24 -39
  8. package/dist/core/db.js.map +1 -0
  9. package/dist/core/memory-read.d.ts +1 -0
  10. package/dist/core/memory-read.d.ts.map +1 -0
  11. package/dist/core/memory-read.js +1 -0
  12. package/dist/core/memory-read.js.map +1 -0
  13. package/dist/core/memory-write.d.ts +1 -0
  14. package/dist/core/memory-write.d.ts.map +1 -0
  15. package/dist/core/memory-write.js +3 -17
  16. package/dist/core/memory-write.js.map +1 -0
  17. package/dist/core/relationships.d.ts +1 -0
  18. package/dist/core/relationships.d.ts.map +1 -0
  19. package/dist/core/relationships.js +1 -0
  20. package/dist/core/relationships.js.map +1 -0
  21. package/dist/core/search.d.ts +1 -0
  22. package/dist/core/search.d.ts.map +1 -0
  23. package/dist/core/search.js +1 -0
  24. package/dist/core/search.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +34 -23
  28. package/dist/index.js.map +1 -0
  29. package/dist/instructions.md +29 -163
  30. package/dist/logger.d.ts +5 -0
  31. package/dist/logger.d.ts.map +1 -0
  32. package/dist/logger.js +19 -0
  33. package/dist/logger.js.map +1 -0
  34. package/dist/protocol-version-guard.d.ts +1 -0
  35. package/dist/protocol-version-guard.d.ts.map +1 -0
  36. package/dist/protocol-version-guard.js +11 -1
  37. package/dist/protocol-version-guard.js.map +1 -0
  38. package/dist/schemas.d.ts +1 -0
  39. package/dist/schemas.d.ts.map +1 -0
  40. package/dist/schemas.js +1 -0
  41. package/dist/schemas.js.map +1 -0
  42. package/dist/stdio-transport.d.ts +1 -0
  43. package/dist/stdio-transport.d.ts.map +1 -0
  44. package/dist/stdio-transport.js +2 -3
  45. package/dist/stdio-transport.js.map +1 -0
  46. package/dist/tools.d.ts +15 -23
  47. package/dist/tools.d.ts.map +1 -0
  48. package/dist/tools.js +23 -1
  49. package/dist/tools.js.map +1 -0
  50. package/dist/types.d.ts +1 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +1 -0
  53. package/dist/types.js.map +1 -0
  54. package/package.json +7 -4
package/dist/config.d.ts CHANGED
@@ -2,5 +2,7 @@ type LogLevel = 'error' | 'info' | 'warn';
2
2
  export declare const config: {
3
3
  dbPath: string;
4
4
  logLevel: LogLevel;
5
+ toolTimeoutMs: number;
5
6
  };
6
7
  export {};
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAoD1C,eAAO,MAAM,MAAM;;;;CAQlB,CAAC"}
package/dist/config.js CHANGED
@@ -2,6 +2,7 @@ import path from 'node:path';
2
2
  import process from 'node:process';
3
3
  const DEFAULT_DB_PATH = path.join(process.cwd(), '.memdb', 'memory.db');
4
4
  const DEFAULT_LOG_LEVEL = 'info';
5
+ const DEFAULT_TOOL_TIMEOUT_MS = 15000;
5
6
  const hasNullByte = (value) => value.includes('\0');
6
7
  const parseLogLevel = (value) => {
7
8
  if (value === undefined)
@@ -18,6 +19,18 @@ const parseLogLevel = (value) => {
18
19
  throw new Error(`Invalid MEMDB_LOG_LEVEL: ${value} (expected: error|warn|info)`);
19
20
  }
20
21
  };
22
+ const parseTimeoutMs = (value, name) => {
23
+ if (value === undefined)
24
+ return undefined;
25
+ if (hasNullByte(value)) {
26
+ throw new Error(`Invalid ${name}: null byte detected`);
27
+ }
28
+ const parsed = Number(value);
29
+ if (!Number.isFinite(parsed) || parsed < 0 || !Number.isInteger(parsed)) {
30
+ throw new Error(`Invalid ${name}: expected a non-negative integer`);
31
+ }
32
+ return parsed;
33
+ };
21
34
  const resolveDbPath = (env) => {
22
35
  const envPath = env.MEMDB_PATH;
23
36
  if (envPath !== undefined) {
@@ -34,4 +47,6 @@ const resolveDbPath = (env) => {
34
47
  export const config = {
35
48
  dbPath: resolveDbPath(process.env),
36
49
  logLevel: parseLogLevel(process.env.MEMDB_LOG_LEVEL) ?? DEFAULT_LOG_LEVEL,
50
+ toolTimeoutMs: parseTimeoutMs(process.env.MEMDB_TOOL_TIMEOUT_MS, 'MEMDB_TOOL_TIMEOUT_MS') ?? DEFAULT_TOOL_TIMEOUT_MS,
37
51
  };
52
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACxE,MAAM,iBAAiB,GAAa,MAAM,CAAC;AAC3C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAwB,EAAE;IACxE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf;YACE,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,8BAA8B,CAChE,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAyB,EACzB,IAAY,EACQ,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mCAAmC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAsB,EAAU,EAAE;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,iBAAiB;IACzE,aAAa,EACX,cAAc,CACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,EACjC,uBAAuB,CACxB,IAAI,uBAAuB;CAC/B,CAAC"}
package/dist/core/db.d.ts CHANGED
@@ -16,3 +16,4 @@ export declare const mapRowToMemory: (row: DbRow, tags?: string[]) => Memory;
16
16
  export declare const mapRowToSearchResult: (row: DbRow, tags?: string[]) => SearchResult;
17
17
  export declare const mapRowToRelationship: (row: DbRow) => Relationship;
18
18
  export declare const loadTagsForMemoryIds: (memoryIds: readonly number[]) => Map<number, string[]>;
19
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +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"}
package/dist/core/db.js CHANGED
@@ -86,18 +86,14 @@ const ensureDbDirectory = async (dbPath) => {
86
86
  return;
87
87
  await withTimeout(mkdir(path.dirname(dbPath), { recursive: true }), 5000, 'Database directory creation timed out');
88
88
  };
89
- const isEnableDefensive = (value) => {
90
- return typeof value === 'function';
91
- };
92
89
  const enableDefensiveMode = (database) => {
93
- const enableDefensive = Reflect.get(database, 'enableDefensive');
94
- if (!isEnableDefensive(enableDefensive))
90
+ const extended = database;
91
+ if (typeof extended.enableDefensive !== 'function')
95
92
  return;
96
- enableDefensive(true);
93
+ extended.enableDefensive(true);
97
94
  };
98
95
  const isInTransaction = (database) => {
99
- const prop = Reflect.get(database, 'isTransaction');
100
- return typeof prop === 'boolean' ? prop : false;
96
+ return database.isTransaction;
101
97
  };
102
98
  const initializeSchema = (database) => {
103
99
  database.exec(SCHEMA_SQL);
@@ -129,14 +125,21 @@ export const closeDb = () => {
129
125
  };
130
126
  const MAX_CACHED_STATEMENTS = 200;
131
127
  const statementCache = new Map();
132
- const statementCacheOrder = [];
133
- const enforceStatementCacheLimit = () => {
134
- if (statementCacheOrder.length <= MAX_CACHED_STATEMENTS)
135
- return;
136
- const oldestSql = statementCacheOrder.shift();
137
- if (!oldestSql)
138
- return;
139
- statementCache.delete(oldestSql);
128
+ export const prepareCached = (sql) => {
129
+ const cached = statementCache.get(sql);
130
+ if (cached) {
131
+ statementCache.delete(sql);
132
+ statementCache.set(sql, cached);
133
+ return cached;
134
+ }
135
+ const stmt = db.prepare(sql);
136
+ statementCache.set(sql, stmt);
137
+ if (statementCache.size > MAX_CACHED_STATEMENTS) {
138
+ const oldestKey = statementCache.keys().next().value;
139
+ if (oldestKey)
140
+ statementCache.delete(oldestKey);
141
+ }
142
+ return stmt;
140
143
  };
141
144
  const isDbRow = (value) => {
142
145
  return typeof value === 'object' && value !== null;
@@ -162,22 +165,13 @@ const toRunResult = (value) => {
162
165
  if (typeof value !== 'object' || value === null) {
163
166
  throw new Error('Invalid run result');
164
167
  }
165
- const changes = Reflect.get(value, 'changes');
168
+ const result = value;
169
+ const { changes } = result;
166
170
  if (typeof changes !== 'number' && typeof changes !== 'bigint') {
167
171
  throw new Error('Invalid run result');
168
172
  }
169
173
  return { changes };
170
174
  };
171
- export const prepareCached = (sql) => {
172
- const cached = statementCache.get(sql);
173
- if (cached)
174
- return cached;
175
- const stmt = db.prepare(sql);
176
- statementCache.set(sql, stmt);
177
- statementCacheOrder.push(sql);
178
- enforceStatementCacheLimit();
179
- return stmt;
180
- };
181
175
  export const executeAll = (stmt, ...params) => toDbRowArray(stmt.all(...params));
182
176
  export const executeGet = (stmt, ...params) => toDbRowOrUndefined(stmt.get(...params));
183
177
  export const executeRun = (stmt, ...params) => toRunResult(stmt.run(...params));
@@ -264,16 +258,7 @@ export const mapRowToRelationship = (row) => ({
264
258
  relation_type: toString(row.relation_type, 'relation_type'),
265
259
  created_at: toString(row.created_at, 'created_at'),
266
260
  });
267
- const tagsSelectStatements = [];
268
- const getSelectTagsStatement = (idCount) => {
269
- const cached = tagsSelectStatements[idCount];
270
- if (cached)
271
- return cached;
272
- const placeholders = Array.from({ length: idCount }, () => '?').join(', ');
273
- const stmt = db.prepare(`SELECT memory_id, tag FROM tags WHERE memory_id IN (${placeholders}) ORDER BY memory_id, tag`);
274
- tagsSelectStatements[idCount] = stmt;
275
- return stmt;
276
- };
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');
277
262
  const dedupeIds = (ids) => {
278
263
  const seen = new Set();
279
264
  const unique = [];
@@ -297,8 +282,7 @@ export const loadTagsForMemoryIds = (memoryIds) => {
297
282
  const uniqueIds = dedupeIds(memoryIds);
298
283
  if (uniqueIds.length === 0)
299
284
  return new Map();
300
- const stmt = getSelectTagsStatement(uniqueIds.length);
301
- const rows = executeAll(stmt, ...uniqueIds);
285
+ const rows = executeAll(stmtSelectTags, JSON.stringify(uniqueIds));
302
286
  const tagsById = new Map();
303
287
  for (const row of rows) {
304
288
  const memoryId = toSafeInteger(row.memory_id, 'memory_id');
@@ -307,3 +291,4 @@ export const loadTagsForMemoryIds = (memoryIds) => {
307
291
  }
308
292
  return tagsById;
309
293
  };
294
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export declare const getMemory: (hash: string) => Memory | undefined;
3
3
  export declare const deleteMemory: (hash: string) => StatementResult;
4
4
  export declare const deleteMemories: (hashes: string[]) => BatchDeleteResult;
5
5
  export declare const getStats: () => MemoryStats;
6
+ //# sourceMappingURL=memory-read.d.ts.map
@@ -0,0 +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"}
@@ -78,3 +78,4 @@ export const getStats = () => {
78
78
  newestMemory: toDateString(dateRow?.newest),
79
79
  };
80
80
  };
81
+ //# sourceMappingURL=memory-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-read.js","sourceRoot":"","sources":["../../src/core/memory-read.ts"],"names":[],"mappings":"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"}
@@ -17,3 +17,4 @@ interface UpdateMemoryOptions {
17
17
  }
18
18
  export declare const updateMemory: (hash: string, options: UpdateMemoryOptions) => MemoryUpdateResult;
19
19
  export {};
20
+ //# sourceMappingURL=memory-write.d.ts.map
@@ -0,0 +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"}
@@ -33,20 +33,7 @@ const normalizeTags = (tags, maxTags) => {
33
33
  return dedupeTags(tags);
34
34
  };
35
35
  const stmtFindMemoryIdByHash = db.prepare('SELECT id FROM memories WHERE hash = ?');
36
- const buildTagInsert = (memoryId, tags) => {
37
- const params = tags.flatMap((tag) => [memoryId, tag]);
38
- return { params };
39
- };
40
- const tagInsertStatements = [];
41
- const getInsertTagsStatement = (tagCount) => {
42
- const cached = tagInsertStatements[tagCount];
43
- if (cached)
44
- return cached;
45
- const placeholders = Array.from({ length: tagCount }, () => '(?, ?)').join(', ');
46
- const stmt = db.prepare(`INSERT OR IGNORE INTO tags (memory_id, tag) VALUES ${placeholders}`);
47
- tagInsertStatements[tagCount] = stmt;
48
- return stmt;
49
- };
36
+ const stmtInsertTags = db.prepare('INSERT OR IGNORE INTO tags (memory_id, tag) SELECT ?, value FROM json_each(?)');
50
37
  const findMemoryIdByHash = (hash) => {
51
38
  const row = executeGet(stmtFindMemoryIdByHash, hash);
52
39
  if (!row)
@@ -56,9 +43,7 @@ const findMemoryIdByHash = (hash) => {
56
43
  const insertTags = (memoryId, tags) => {
57
44
  if (tags.length === 0)
58
45
  return;
59
- const { params } = buildTagInsert(memoryId, tags);
60
- const stmt = getInsertTagsStatement(tags.length);
61
- executeRun(stmt, ...params);
46
+ executeRun(stmtInsertTags, memoryId, JSON.stringify(tags));
62
47
  };
63
48
  const buildHash = (content) => {
64
49
  // eslint-disable-next-line sonarjs/hashing -- MD5 used for non-security deduplication only.
@@ -170,3 +155,4 @@ export const updateMemory = (hash, options) => {
170
155
  return { updated: true, oldHash: hash, newHash };
171
156
  });
172
157
  };
158
+ //# sourceMappingURL=memory-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-write.js","sourceRoot":"","sources":["../../src/core/memory-write.ts"],"names":[],"mappings":"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"}
@@ -13,3 +13,4 @@ export declare const deleteRelationship: (input: {
13
13
  to_hash: string;
14
14
  relation_type: string;
15
15
  }) => StatementResult;
16
+ //# sourceMappingURL=relationships.d.ts.map
@@ -0,0 +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"}
@@ -80,3 +80,4 @@ export const deleteRelationship = (input) => {
80
80
  const result = executeRun(stmtDeleteRelationship, input.from_hash, input.to_hash, input.relation_type);
81
81
  return { changes: toSafeInteger(result.changes, 'changes') };
82
82
  };
83
+ //# sourceMappingURL=relationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/core/relationships.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,4 @@ export declare const recallMemories: (input: {
8
8
  depth?: number;
9
9
  }) => RecallResult;
10
10
  export {};
11
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +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"}
@@ -199,3 +199,4 @@ export const recallMemories = (input) => {
199
199
  }
200
200
  return recallAtPositiveDepth(searchResults, depth);
201
201
  };
202
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import process from 'node:process';
4
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { SUPPORTED_PROTOCOL_VERSIONS, } from '@modelcontextprotocol/sdk/types.js';
4
+ import { McpServer, ResourceTemplate, } from '@modelcontextprotocol/sdk/server/mcp.js';
5
+ import { SUPPORTED_PROTOCOL_VERSIONS } from '@modelcontextprotocol/sdk/types.js';
6
6
  import { closeDb } from './core/db.js';
7
- import { logger } from './logger.js';
7
+ import { attachProtocolLogger, logger } from './logger.js';
8
8
  import { ProtocolVersionGuardTransport } from './protocol-version-guard.js';
9
9
  import { BatchRejectingStdioServerTransport } from './stdio-transport.js';
10
10
  import { registerAllTools } from './tools.js';
@@ -16,7 +16,7 @@ const readPackageVersion = async () => {
16
16
  const parsed = JSON.parse(packageJsonText);
17
17
  if (typeof parsed !== 'object' || parsed === null)
18
18
  return undefined;
19
- const version = Reflect.get(parsed, 'version');
19
+ const { version } = parsed;
20
20
  return typeof version === 'string' ? version : undefined;
21
21
  };
22
22
  const toNonEmptyTrimmedOrUndefined = (text) => {
@@ -53,27 +53,23 @@ const loadServerMetadata = async () => {
53
53
  const { packageVersion, instructions: serverInstructions } = await loadServerMetadata();
54
54
  const server = new McpServer({ name: 'memdb', version: packageVersion ?? '0.0.0' }, {
55
55
  instructions: serverInstructions,
56
- capabilities: { tools: {} },
56
+ capabilities: { tools: {}, logging: {}, resources: {} },
57
57
  });
58
- const patchToolErrorResults = (target) => {
59
- const targetUnknown = target;
60
- const existing = Reflect.get(targetUnknown, 'createToolError');
61
- if (typeof existing !== 'function')
62
- return;
63
- const createToolError = (message) => {
64
- const structured = {
65
- ok: false,
66
- error: { code: 'E_TOOL_ERROR', message },
67
- };
68
- return {
69
- content: [{ type: 'text', text: JSON.stringify(structured) }],
70
- structuredContent: structured,
71
- isError: true,
72
- };
58
+ const instructionsResource = new ResourceTemplate('internal://instructions', {
59
+ list: undefined,
60
+ });
61
+ server.registerResource('internal://instructions', instructionsResource, { title: 'Instructions', mimeType: 'text/markdown' }, async (uri) => {
62
+ const text = (await readTextFileOrUndefined(new URL('./instructions.md', import.meta.url))) ?? serverInstructions;
63
+ return {
64
+ contents: [
65
+ {
66
+ uri: uri.href,
67
+ text,
68
+ mimeType: 'text/markdown',
69
+ },
70
+ ],
73
71
  };
74
- Reflect.set(targetUnknown, 'createToolError', createToolError);
75
- };
76
- patchToolErrorResults(server);
72
+ });
77
73
  registerAllTools(server);
78
74
  let transport;
79
75
  let shuttingDown = false;
@@ -120,9 +116,23 @@ const createTransport = () => {
120
116
  const supportedProtocolVersions = SUPPORTED_PROTOCOL_VERSIONS.filter((version) => version !== '2025-03-26');
121
117
  return new ProtocolVersionGuardTransport(stdioTransport, supportedProtocolVersions);
122
118
  };
119
+ const attachMcpLogger = (target) => {
120
+ attachProtocolLogger((level, message) => {
121
+ if (!target.isConnected())
122
+ return;
123
+ void target
124
+ .sendLoggingMessage({
125
+ level,
126
+ data: message,
127
+ logger: 'memdb',
128
+ })
129
+ .catch(() => { });
130
+ });
131
+ };
123
132
  const connectServer = async (transportToUse) => {
124
133
  transport = transportToUse;
125
134
  await server.connect(transportToUse);
135
+ attachMcpLogger(server);
126
136
  logger.info('Memory MCP Server running on stdio');
127
137
  };
128
138
  const main = async () => {
@@ -156,3 +166,4 @@ const registerProcessHandlers = () => {
156
166
  void main();
157
167
  registerSignalHandlers();
158
168
  registerProcessHandlers();
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,176 +1,42 @@
1
- # memdb MCP Server — AI Usage Instructions
1
+ # memdb Instructions
2
2
 
3
- Use this server to store and retrieve persistent memories (facts, decisions, lessons, plans) in a local SQLite database. Prefer these tools over "remembering" state in chat.
3
+ > **Guidance for the Agent:** These instructions are available as a resource (`internal://instructions`). Load them when you are confused about tool usage.
4
4
 
5
- ## Operating Rules
5
+ ## 1. Core Capability
6
6
 
7
- - Use tools only when the operation changes or verifies memory state.
8
- - Prefer `search_memories` or `memory_stats` to establish state before updating/deleting.
9
- - Operate by stable identifiers (`hash`, 32-char hex MD5) rather than ambiguous user text.
10
- - Treat destructive tools (`delete_memory`, `delete_memories`, `delete_relationship`) as destructive: require explicit user confirmation unless clearly requested.
11
- - Keep operations atomic; if a request is vague, ask a clarifying question.
12
- - **Client UX:** Tool lists can be cached (reset via "MCP: Reset Cached Tools"). Only run MCP servers from trusted sources.
7
+ - **Domain:** Local, SQLite-backed memory store for text notes with tags and relationships.
8
+ - **Primary Resources:** `Memory`, `Relationship`, `Stats`.
13
9
 
14
- ### Strategies
10
+ ## 2. The "Golden Path" Workflows (Critical)
15
11
 
16
- - **Discovery:** Start with `search_memories` or `memory_stats` to discover what exists. Use `recall` (depth 1-2) when you need connected context.
17
- - **Action:** Use `store_memories` for batch imports (up to 50). Prefer `update_memory` to fix content (preserves history/context better than delete+create). Always confirm explicit deletions with the user.
12
+ _Describe the standard order of operations. Do not assume the agent knows this._
18
13
 
19
- ## Data Model
14
+ ### Workflow A: Find relevant context
20
15
 
21
- - **Memory:**
22
- - `hash` (MD5 of content, primary key)
23
- - `content` (1–100k chars)
24
- - `tags` (1–100 items, no whitespace, `kebab-case`)
25
- - `importance` (0–10, 10=critical)
26
- - `memory_type` (`general`, `fact`, `plan`, `decision`, `reflection`, `lesson`, `error`, `gradient`)
27
- - `accessed_at` is updated when you call `get_memory`
28
- - **Relationship:** Directed edge (`from_hash` → `to_hash`) with a typed label (`relation_type`).
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.
19
+ > **Constraint:** Never guess hashes. Always search or recall first.
29
20
 
30
- ## Workflows
21
+ ### Workflow B: Store or revise knowledge
31
22
 
32
- ### 1) Capture a new memory
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.
33
27
 
34
- 1. Prepare content (crisp, 1–3 sentences).
35
- 2. Choose 2–6 tags: domain tags (`auth`, `postgres`) + intent tags (`decision`, `bug`).
36
- 3. Call `store_memory`. Record the returned `hash` if you need to reference it later.
28
+ ## 3. Tool Nuances & "Gotchas"
37
29
 
38
- ### 2) Retrieve context for a task
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.
39
36
 
40
- 1. Call `search_memories` with a focused query (include relevant tag text in the query).
41
- 2. If you need related context, call `recall` with `depth: 1` or `2`.
42
- 3. For verbatim content of a specific hash, call `get_memory`.
37
+ ## 4. Error Handling Strategy
43
38
 
44
- ### 3) Maintain quality over time
45
-
46
- 1. Prefer `update_memory` over creating duplicates when correcting content.
47
- 2. Use `create_relationship` to link durable facts/decisions in the knowledge graph.
48
- 3. Use `delete_memory` / `delete_memories` only with explicit user intent.
49
-
50
- ## Tools
51
-
52
- ### store_memory
53
-
54
- Store a single memory with tags.
55
-
56
- - **Use when:** You have one clear item to persist.
57
- - **Args:** `content` (req), `tags` (req), `importance` (opt), `memory_type` (opt).
58
- - **Returns:** `{ id, hash, isNew }`.
59
-
60
- ### store_memories
61
-
62
- Batch store up to 50 memories.
63
-
64
- - **Use when:** Importing multiple items at once.
65
- - **Args:** `items[]` (each has `content`, `tags`, optional `importance`, `memory_type`).
66
- - **Returns:** `{ results, succeeded, failed }`.
67
-
68
- ### search_memories
69
-
70
- Full-text + tag search.
71
-
72
- - **Use when:** Discovering what exists; start here before mutating.
73
- - **Args:** `query` (1–1,000 chars).
74
- - **Returns:** Array of `Memory` + `relevance`, up to 100 results.
75
- - **Returns:** Array of `Memory` + `relevance`, up to 100 results (includes `tags`).
76
- - **Notes:** Content matches rank higher than tag matches.
77
-
78
- ### get_memory
79
-
80
- Fetch a single memory by hash.
81
-
82
- - **Use when:** You need verbatim content after search identified a hash.
83
- - **Args:** `hash` (32 hex chars).
84
- - **Returns:** `Memory` object (includes `tags`).
85
- - **Notes:** Updates `accessed_at` on read.
86
-
87
- ### update_memory
88
-
89
- Update content (and optionally replace tags).
90
-
91
- - **Use when:** Correcting or refining an existing memory.
92
- - **Args:** `hash` (req), `content` (req), `tags` (opt, replaces all).
93
- - **Returns:** `{ updated: true, oldHash, newHash }`.
94
- - **Notes:** Hash changes because content changes (content-addressed).
95
-
96
- ### delete_memory
97
-
98
- Delete a single memory by hash.
99
-
100
- - **Use when:** User explicitly wants removal.
101
- - **Args:** `hash`.
102
- - **Returns:** `{ deleted: true }` or error if not found.
103
-
104
- ### delete_memories
105
-
106
- Batch delete up to 50 hashes.
107
-
108
- - **Use when:** Bulk cleanup with explicit user intent.
109
- - **Args:** `hashes[]`.
110
- - **Returns:** `{ results, succeeded, failed }`.
111
-
112
- ### create_relationship
113
-
114
- Link two memories with a typed edge.
115
-
116
- - **Use when:** Building a knowledge graph (e.g., `depends_on`, `causes`, `part_of`).
117
- - **Args:** `from_hash`, `to_hash`, `relation_type`.
118
- - **Returns:** `{ id, isNew }`.
119
-
120
- ### get_relationships
121
-
122
- List relationships for a memory.
123
-
124
- - **Use when:** Inspecting local graph around one memory.
125
- - **Args:** `hash`, `direction` (opt: `outgoing`, `incoming`, `both`; default `both`).
126
- - **Returns:** Array of `Relationship` objects.
127
-
128
- ### delete_relationship
129
-
130
- Remove a relationship edge.
131
-
132
- - **Use when:** An edge is wrong or outdated.
133
- - **Args:** `from_hash`, `to_hash`, `relation_type`.
134
- - **Returns:** `{ deleted: true }`.
135
-
136
- ### recall
137
-
138
- Search + traverse relationships to return a connected cluster.
139
-
140
- - **Use when:** You need broader context beyond keyword matches.
141
- - **Args:** `query`, `depth` (opt, 0–3; default 1).
142
- - **Returns:** `{ memories, relationships, depth }` where `memories` include `tags`.
143
-
144
- ### memory_stats
145
-
146
- Database statistics and health.
147
-
148
- - **Use when:** Sanity-checking the DB or reporting status.
149
- - **Args:** (none).
150
- - **Returns:** `{ memoryCount, tagCount, oldestMemory, newestMemory }`.
151
-
152
- ## Response Shape
153
-
154
- Success: `{ "ok": true, "result": { ... } }`
155
- Error: `{ "ok": false, "error": { "code": "E_...", "message": "..." } }`
156
-
157
- ### Common Errors
158
-
159
- | Code | Meaning | Resolution |
160
- | --------------- | ----------------------------- | ----------------------------------- |
161
- | `E_NOT_FOUND` | Memory/Relationship not found | Check hash or create new |
162
- | `E_INVALID_ARG` | Validation failed (zod) | Check limits, types, and formatting |
163
- | `E_TOOL_ERROR` | Internal/Db error | Check server logs or stats |
164
-
165
- ## Limits
166
-
167
- - **Content Size:** 100,000 chars per memory
168
- - **Tag Count:** 100 per memory
169
- - **Tag Length:** 50 chars (no whitespace)
170
- - **Batch Size:** 50 items (store/delete)
171
- - **Query Length:** 1,000 chars
172
-
173
- ## Security
174
-
175
- - **No Secrets:** Do not store API keys, passwords, or PII in memory content.
176
- - **Confirmation:** Always ask before using `delete_*` tools unless the user explicitly requested it.
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.
package/dist/logger.d.ts CHANGED
@@ -1,5 +1,10 @@
1
+ type ProtocolLogLevel = 'info' | 'warning' | 'error';
2
+ type ProtocolLogSink = (level: ProtocolLogLevel, message: string) => void;
3
+ export declare const attachProtocolLogger: (sink: ProtocolLogSink | undefined) => void;
1
4
  export declare const logger: {
2
5
  info: (msg: string, ...args: unknown[]) => void;
3
6
  warn: (msg: string, ...args: unknown[]) => void;
4
7
  error: (msg: string, ...args: unknown[]) => void;
5
8
  };
9
+ export {};
10
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,KAAK,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AACrD,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAmC1E,eAAO,MAAM,oBAAoB,GAC/B,MAAM,eAAe,GAAG,SAAS,KAChC,IAEF,CAAC;AAEF,eAAO,MAAM,MAAM;gBAbX,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;gBAAjC,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;iBAAjC,MAAM,WAAW,OAAO,EAAE,KAAG,IAAI;CAiBxC,CAAC"}
package/dist/logger.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { format } from 'node:util';
1
2
  import { config } from './config.js';
2
3
  const LEVELS = {
3
4
  error: 0,
@@ -5,13 +6,31 @@ const LEVELS = {
5
6
  info: 2,
6
7
  };
7
8
  const threshold = LEVELS[config.logLevel];
9
+ let protocolLogSink;
10
+ const toProtocolLogLevel = (level) => {
11
+ switch (level) {
12
+ case 'warn':
13
+ return 'warning';
14
+ case 'error':
15
+ return 'error';
16
+ case 'info':
17
+ return 'info';
18
+ }
19
+ };
20
+ const formatLogMessage = (msg, args) => args.length === 0 ? msg : format(msg, ...args);
8
21
  const createWriter = (level) => (msg, ...args) => {
9
22
  if (LEVELS[level] > threshold)
10
23
  return;
11
24
  console.error(`[${level.toUpperCase()}] ${msg}`, ...args);
25
+ const formatted = formatLogMessage(msg, args);
26
+ protocolLogSink?.(toProtocolLogLevel(level), formatted);
27
+ };
28
+ export const attachProtocolLogger = (sink) => {
29
+ protocolLogSink = sink;
12
30
  };
13
31
  export const logger = {
14
32
  info: createWriter('info'),
15
33
  warn: createWriter('warn'),
16
34
  error: createWriter('error'),
17
35
  };
36
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMrC,MAAM,MAAM,GAA6B;IACvC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE1C,IAAI,eAA4C,CAAC;AAEjD,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAoB,EAAE;IAC/D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAAwB,EAAU,EAAE,CACzE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAEjD,MAAM,YAAY,GAChB,CAAC,KAAe,EAAE,EAAE,CACpB,CAAC,GAAW,EAAE,GAAG,IAAe,EAAQ,EAAE;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;QAAE,OAAO;IACtC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,eAAe,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAiC,EAC3B,EAAE;IACR,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;CAC7B,CAAC"}
@@ -18,3 +18,4 @@ export declare class ProtocolVersionGuardTransport implements Transport {
18
18
  private handleInitializedNotification;
19
19
  private handleBeforeReady;
20
20
  }
21
+ //# sourceMappingURL=protocol-version-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-version-guard.d.ts","sourceRoot":"","sources":["../src/protocol-version-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAML,KAAK,cAAc,EAGpB,MAAM,oCAAoC,CAAC;AAuE5C,qBAAa,6BAA8B,YAAW,SAAS;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,EAAE,MAAM,IAAI,CAAY;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAY;IAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAY;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,MAAM,EAAE;IAKlE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,CACR,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAIV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,iBAAiB;CAuB1B"}
@@ -1,6 +1,7 @@
1
1
  import { isInitializedNotification, isInitializeRequest, isJSONRPCErrorResponse, isJSONRPCRequest, isJSONRPCResultResponse, } from '@modelcontextprotocol/sdk/types.js';
2
2
  const buildUnsupportedVersionMessage = (version, supportedVersions) => `Unsupported protocol version: ${version} (supported versions: ${supportedVersions.join(', ')})`;
3
3
  const isObject = (value) => typeof value === 'object' && value !== null;
4
+ const isPingRequest = (message) => isJSONRPCRequest(message) && message.method === 'ping';
4
5
  const rejectBatchIfPresent = (message, inner) => {
5
6
  if (!Array.isArray(message))
6
7
  return false;
@@ -101,7 +102,11 @@ export class ProtocolVersionGuardTransport {
101
102
  return;
102
103
  }
103
104
  if (!this.supportedVersions.includes(initializeInfo.protocolVersion)) {
104
- void this.inner.send(createUnsupportedVersionError(initializeInfo.id, initializeInfo.protocolVersion, this.supportedVersions), { relatedRequestId: initializeInfo.id });
105
+ void this.inner
106
+ .send(createUnsupportedVersionError(initializeInfo.id, initializeInfo.protocolVersion, this.supportedVersions), { relatedRequestId: initializeInfo.id })
107
+ .finally(() => {
108
+ void this.inner.close();
109
+ });
105
110
  return;
106
111
  }
107
112
  this.sawInitialize = true;
@@ -117,6 +122,10 @@ export class ProtocolVersionGuardTransport {
117
122
  }
118
123
  handleBeforeReady(message, extra) {
119
124
  if (isJSONRPCRequest(message)) {
125
+ if (isPingRequest(message)) {
126
+ this.onmessage(message, extra);
127
+ return;
128
+ }
120
129
  void this.inner.send(createLifecycleError(message.id, 'Invalid request: initialize must be sent before other requests'), { relatedRequestId: message.id });
121
130
  return;
122
131
  }
@@ -125,3 +134,4 @@ export class ProtocolVersionGuardTransport {
125
134
  }
126
135
  }
127
136
  }
137
+ //# sourceMappingURL=protocol-version-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-version-guard.js","sourceRoot":"","sources":["../src/protocol-version-guard.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -79,3 +79,4 @@ export declare const DefaultOutputSchema: z.ZodObject<{
79
79
  message: z.ZodString;
80
80
  }, z.core.$strict>>;
81
81
  }, z.core.$strict>;
82
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,CAAC,EAAE,MAAM,KAAK,CAAC;AAqB5C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBAcjC,CAAC;AAgBH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAInC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;kBAIpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;kBAE/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;kBAElC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;kBAIpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;kBAOlC,CAAC;AAEH,eAAO,MAAM,sBAAsB,iCAEe,CAAC;AAEnD,eAAO,MAAM,6BAA6B;;;;kBAWxC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;kBAQtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;kBAUxC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;kBAQ5B,CAAC;AAyBH,eAAO,MAAM,mBAAmB;;;;;;;kBAa/B,CAAC"}
package/dist/schemas.js CHANGED
@@ -137,3 +137,4 @@ export const DefaultOutputSchema = DefaultOutputSchemaBase.superRefine((value, c
137
137
  addIssue(ctx, ['error'], 'error is required when ok is false');
138
138
  }
139
139
  });
140
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,CAAC,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;AACrD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACtC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACzE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACpC,WAAW,EACT,8EAA8E;KACjF,CAAC;IACF,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC3C,WAAW,EACT,kGAAkG;KACrG,CAAC;IACF,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC5C,WAAW,EACT,8EAA8E;KACjF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC3C,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACzE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC3C,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACF,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC5C,WAAW,EACT,8EAA8E;KACjF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QACxD,WAAW,EAAE,gCAAgC;KAC9C,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;QACtB,WAAW,EAAE,0CAA0C;KACxD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QAC9C,WAAW,EAAE,gDAAgD;KAC9D,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAC1E,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC1E,IAAI,EAAE,UAAU;SACb,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,IAAI,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,YAAY,CAAC,EAAE,CAAC;KAChB,IAAI,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1D,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACvB,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC;QACrC,WAAW,EACT,yFAAyF;KAC5F,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACxD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;QACpB,WAAW,EAAE,iDAAiD;KAC/D,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAClE,WAAW,EACT,mFAAmF;KACtF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1D,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACvB,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC;QACrC,WAAW,EAAE,gCAAgC;KAC9C,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;QACtB,WAAW,EAAE,uCAAuC;KACrD,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QACpD,WAAW,EACT,6FAA6F;KAChG,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CACf,GAAkB,EAClB,IAAc,EACd,OAAe,EACT,EAAE;IACR,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,WAAW,CACpE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,sCAAsC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -30,3 +30,4 @@ export declare class BatchRejectingStdioServerTransport implements Transport {
30
30
  private handleReadBufferError;
31
31
  private processReadBuffer;
32
32
  }
33
+ //# sourceMappingURL=stdio-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-transport.d.ts","sourceRoot":"","sources":["../src/stdio-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAsK5C;;;;GAIG;AACH,qBAAa,kCAAmC,YAAW,SAAS;IAClE,OAAO,EAAE,MAAM,IAAI,CAAY;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAY;IAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAY;IAE1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOrB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;gBAGA,KAAK,GAAE,MAAM,CAAC,cAA8B,EAC5C,MAAM,GAAE,MAAM,CAAC,cAA+B;IAMhD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IActB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,iBAAiB;CAO1B"}
@@ -210,9 +210,7 @@ export class BatchRejectingStdioServerTransport {
210
210
  this.sendInvalidRequest(idResult.id);
211
211
  return;
212
212
  }
213
- if (idResult.reason === 'invalid-type') {
214
- this.sendInvalidRequestUnknownId();
215
- }
213
+ this.sendInvalidRequestUnknownId();
216
214
  }
217
215
  handleLine(line) {
218
216
  let raw;
@@ -260,3 +258,4 @@ export class BatchRejectingStdioServerTransport {
260
258
  }
261
259
  }
262
260
  }
261
+ //# sourceMappingURL=stdio-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio-transport.js","sourceRoot":"","sources":["../src/stdio-transport.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAOnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,MAAM,UAAU;IAIe;IAHrB,MAAM,GAAa,EAAE,CAAC;IACtB,WAAW,GAAG,CAAC,CAAC;IAExB,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CACrC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,EAClB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,WAAW;QAKjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CACrB,UAAkB,EAClB,YAAoB,EACpB,UAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,UAAkB;QAC9D,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC/B,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,UAAkB,EAClB,YAAoB,EACpB,WAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC;YAAE,OAAO;QACxC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAEO,WAAW,CACjB,UAAkB,EAClB,YAAoB,EACpB,UAAkB;QAElB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,oBAAoB,CAC1B,UAAkB,EAClB,YAAoB;QAEpB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAS9C,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAmB,EAAE;IAC7D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,EAAoB,EAAkB,EAAE,CACnE,CAAC;IACC,OAAO,EAAE,KAAK;IACd,EAAE;IACF,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,KAAK;QACZ,OAAO,EAAE,iBAAiB;KAC3B;CACF,CAA8B,CAAC;AAElC,MAAM,UAAU,GAAG,GAAmB,EAAE,CACtC,CAAC;IACC,OAAO,EAAE,KAAK;IACd,EAAE,EAAE,IAAI;IACR,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,KAAK;QACZ,OAAO,EAAE,aAAa;KACvB;CACF,CAA8B,CAAC;AAElC;;;;GAIG;AACH,MAAM,OAAO,kCAAkC;IAC7C,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAC/B,OAAO,GAA2B,GAAG,EAAE,GAAE,CAAC,CAAC;IAC3C,SAAS,GAAwC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEzC,KAAK,CAAwB;IAC7B,MAAM,CAAwB;IAC9B,UAAU,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IACrD,OAAO,GAAG,KAAK,CAAC;IAExB,2CAA2C;IAC1B,MAAM,GAAG,CAAC,KAAa,EAAQ,EAAE;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;IAEe,YAAY,GAAG,CAAC,KAAY,EAAQ,EAAE;QACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,YACE,QAA+B,OAAO,CAAC,KAAK,EAC5C,SAAgC,OAAO,CAAC,MAAM;QAE9C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oIAAoI,CACrI,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAuB;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,EAAa;QACtC,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,2BAA2B;QACjC,KAAK,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,cAAc;QACpB,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,WAAW,CAAC,GAAc;QAChC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,SAAS;YAC3B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAAY;QACjC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,KACE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EACrC,IAAI,KAAK,IAAI,EACb,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EACjC,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF"}
package/dist/tools.d.ts CHANGED
@@ -1,32 +1,24 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { deleteMemories } from './core/memory-read.js';
2
+ import { deleteMemories, deleteMemory, getMemory, getStats } from './core/memory-read.js';
3
3
  import { createMemories, createMemory, updateMemory } from './core/memory-write.js';
4
4
  import { createRelationship, deleteRelationship, getRelationships } from './core/relationships.js';
5
5
  import { recallMemories, searchMemories } from './core/search.js';
6
- import type { BatchDeleteResult, BatchStoreResult, CreateRelationshipResult, Memory, MemoryInsertResult, MemoryStats, MemoryUpdateResult, RecallResult, Relationship, SearchResult, StatementResult } from './types.js';
7
6
  type MaybePromise<T> = T | Promise<T>;
8
- type CreateMemoryInput = Parameters<typeof createMemory>[0];
9
- type CreateMemoriesInput = Parameters<typeof createMemories>[0];
10
- type UpdateMemoryArgs = Parameters<typeof updateMemory>;
11
- type SearchInput = Parameters<typeof searchMemories>[0];
12
- type DeleteMemoriesInput = Parameters<typeof deleteMemories>[0];
13
- type CreateRelationshipInput = Parameters<typeof createRelationship>[0];
14
- type GetRelationshipsInput = Parameters<typeof getRelationships>[0];
15
- type DeleteRelationshipInput = Parameters<typeof deleteRelationship>[0];
16
- type RecallInput = Parameters<typeof recallMemories>[0];
7
+ type Dependency<T> = T extends (...args: infer A) => infer R ? (...args: A) => MaybePromise<R> : never;
17
8
  export interface ToolDependencies {
18
- createMemory: (input: CreateMemoryInput) => MaybePromise<MemoryInsertResult>;
19
- createMemories: (input: CreateMemoriesInput) => MaybePromise<BatchStoreResult>;
20
- updateMemory: (...args: UpdateMemoryArgs) => MaybePromise<MemoryUpdateResult>;
21
- getMemory: (hash: string) => MaybePromise<Memory | undefined>;
22
- deleteMemory: (hash: string) => MaybePromise<StatementResult>;
23
- deleteMemories: (input: DeleteMemoriesInput) => MaybePromise<BatchDeleteResult>;
24
- searchMemories: (input: SearchInput) => MaybePromise<SearchResult[]>;
25
- getStats: () => MaybePromise<MemoryStats>;
26
- createRelationship: (input: CreateRelationshipInput) => MaybePromise<CreateRelationshipResult>;
27
- getRelationships: (input: GetRelationshipsInput) => MaybePromise<Relationship[]>;
28
- deleteRelationship: (input: DeleteRelationshipInput) => MaybePromise<StatementResult>;
29
- recallMemories: (input: RecallInput) => MaybePromise<RecallResult>;
9
+ createMemory: Dependency<typeof createMemory>;
10
+ createMemories: Dependency<typeof createMemories>;
11
+ updateMemory: Dependency<typeof updateMemory>;
12
+ getMemory: Dependency<typeof getMemory>;
13
+ deleteMemory: Dependency<typeof deleteMemory>;
14
+ deleteMemories: Dependency<typeof deleteMemories>;
15
+ searchMemories: Dependency<typeof searchMemories>;
16
+ getStats: Dependency<typeof getStats>;
17
+ createRelationship: Dependency<typeof createRelationship>;
18
+ getRelationships: Dependency<typeof getRelationships>;
19
+ deleteRelationship: Dependency<typeof deleteRelationship>;
20
+ recallMemories: Dependency<typeof recallMemories>;
30
21
  }
31
22
  export declare function registerAllTools(server: McpServer, deps?: ToolDependencies): void;
32
23
  export {};
24
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +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"}
package/dist/tools.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { config } from './config.js';
1
2
  import { deleteMemories, deleteMemory, getMemory, getStats, } from './core/memory-read.js';
2
3
  import { createMemories, createMemory, updateMemory, } from './core/memory-write.js';
3
4
  import { createRelationship, deleteRelationship, getRelationships, } from './core/relationships.js';
@@ -17,6 +18,7 @@ const defaultDeps = {
17
18
  deleteRelationship,
18
19
  recallMemories,
19
20
  };
21
+ const TOOL_TIMEOUT_MS = config.toolTimeoutMs;
20
22
  const isNonEmptyString = (value) => typeof value === 'string' && value.length > 0;
21
23
  const getErrorMessage = (error) => {
22
24
  if (error instanceof Error)
@@ -37,6 +39,24 @@ const createErrorResponse = (code, message, result) => {
37
39
  isError: true,
38
40
  };
39
41
  };
42
+ const withTimeout = async (promise, ms, onTimeout) => {
43
+ if (ms <= 0)
44
+ return await promise;
45
+ let timeout;
46
+ const timeoutPromise = new Promise((resolve) => {
47
+ timeout = setTimeout(() => {
48
+ resolve(onTimeout());
49
+ }, ms);
50
+ });
51
+ try {
52
+ return await Promise.race([promise, timeoutPromise]);
53
+ }
54
+ finally {
55
+ if (timeout)
56
+ clearTimeout(timeout);
57
+ }
58
+ };
59
+ const createTimeoutResponse = () => createErrorResponse('E_TIMEOUT', `Tool execution timed out after ${TOOL_TIMEOUT_MS}ms`, { timeoutMs: TOOL_TIMEOUT_MS });
40
60
  const ok = (result) => {
41
61
  const structured = { ok: true, result };
42
62
  return {
@@ -46,7 +66,8 @@ const ok = (result) => {
46
66
  };
47
67
  const runHandlerSafely = async (code, handler, params) => {
48
68
  try {
49
- return await handler(params);
69
+ const resultPromise = Promise.resolve().then(() => handler(params));
70
+ return await withTimeout(resultPromise, TOOL_TIMEOUT_MS, createTimeoutResponse);
50
71
  }
51
72
  catch (err) {
52
73
  return createErrorResponse(code, getErrorMessage(err));
@@ -307,3 +328,4 @@ export function registerAllTools(server, deps = defaultDeps) {
307
328
  server.registerTool(tool.name, tool.options, tool.handler);
308
329
  }
309
330
  }
331
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -74,3 +74,4 @@ export interface RecallResult {
74
74
  readonly relationships: Relationship[];
75
75
  readonly depth: number;
76
76
  }
77
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -8,3 +8,4 @@ export const MEMORY_TYPES = [
8
8
  'error',
9
9
  'gradient',
10
10
  ];
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,UAAU;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@j0hanz/memdb",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "mcpName": "io.github.j0hanz/memdb",
5
5
  "description": "A SQLite-backed MCP memory server with local workspace storage.",
6
6
  "type": "module",
@@ -18,7 +18,10 @@
18
18
  "README.md"
19
19
  ],
20
20
  "scripts": {
21
- "build": "tsc -p tsconfig.build.json && node -e \"const fs=require('fs');fs.copyFileSync('src/instructions.md','dist/instructions.md');fs.chmodSync('dist/index.js','755');\"",
21
+ "clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true}); require('fs').rmSync('.tsbuildinfo', {recursive:true, force:true}); ['tsconfig.tsbuildinfo', 'tsconfig.build.tsbuildinfo', 'tsconfig.test.tsbuildinfo'].forEach(f => require('fs').rmSync(f, {force:true}))\"",
22
+ "validate:instructions": "node -e \"require('fs').accessSync('src/instructions.md')\"",
23
+ "build": "npm run clean && tsc -p tsconfig.json && npm run validate:instructions && npm run copy:assets && node -e \"require('fs').chmodSync('dist/index.js', '755')\"",
24
+ "copy:assets": "node -e \"require('fs').mkdirSync('dist', { recursive: true }); require('fs').copyFileSync('src/instructions.md', 'dist/instructions.md')\"",
22
25
  "prepare": "npm run build",
23
26
  "dev": "tsx watch src/index.ts",
24
27
  "start": "node dist/index.js",
@@ -61,8 +64,8 @@
61
64
  "eslint-plugin-depend": "^1.4.0",
62
65
  "eslint-plugin-sonarjs": "^3.0.5",
63
66
  "eslint-plugin-unused-imports": "^4.3.0",
64
- "knip": "^5.80.2",
65
- "prettier": "^3.7.4",
67
+ "knip": "^5.81.0",
68
+ "prettier": "^3.8.0",
66
69
  "tsx": "^4.21.0",
67
70
  "typescript": "^5.9.3",
68
71
  "typescript-eslint": "^8.52.0"