@mmnto/mcp 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"search-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6CzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwD/D"}
1
+ {"version":3,"file":"search-knowledge.d.ts","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsCzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmD/D"}
@@ -1,12 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { ContentTypeSchema } from '@mmnto/totem';
3
3
  import { getContext, reconnectStore } from '../context.js';
4
- // Heuristic to detect stale LanceDB file handles after a full sync rebuild.
5
- // Observed errors that indicate a stale handle:
6
- // - "IO-error: ... not found" when underlying .lance files are deleted
7
- // - "LanceError: ..." for other file access issues after rebuild
8
- // TODO: Replace with error codes if future LanceDB versions expose them.
9
- const LANCE_STALE_ERROR_PATTERN = /not found|LanceError/i;
10
4
  async function performSearch(query, typeFilter, maxResults) {
11
5
  const { store } = await getContext();
12
6
  const results = await store.search({
@@ -47,31 +41,25 @@ export function registerSearchKnowledge(server) {
47
41
  try {
48
42
  return await performSearch(query, type_filter, max_results);
49
43
  }
50
- catch (err) {
51
- const originalMessage = err instanceof Error ? err.message : String(err);
52
- const isStale = LANCE_STALE_ERROR_PATTERN.test(originalMessage);
53
- if (isStale) {
54
- try {
55
- await reconnectStore();
56
- return await performSearch(query, type_filter, max_results);
57
- }
58
- catch (retryErr) {
59
- const retryMessage = retryErr instanceof Error ? retryErr.message : String(retryErr);
60
- return {
61
- content: [
62
- {
63
- type: 'text',
64
- text: `[Totem Error] Failed to search knowledge after reconnect: ${retryMessage}`,
65
- },
66
- ],
67
- isError: true,
68
- };
69
- }
44
+ catch (originalErr) {
45
+ // Any LanceDB error could indicate a stale handle (e.g. files deleted
46
+ // during a full sync rebuild). Reconnect and retry once before failing.
47
+ try {
48
+ await reconnectStore();
49
+ return await performSearch(query, type_filter, max_results);
50
+ }
51
+ catch (retryErr) {
52
+ // Retry failed — report both errors for diagnostics
53
+ const originalMessage = originalErr instanceof Error ? originalErr.message : String(originalErr);
54
+ const retryMessage = retryErr instanceof Error ? retryErr.message : String(retryErr);
55
+ const text = originalMessage === retryMessage
56
+ ? `[Totem Error] Search failed: ${originalMessage}`
57
+ : `[Totem Error] Search failed. Initial error: ${originalMessage}. Retry after reconnect also failed: ${retryMessage}`;
58
+ return {
59
+ content: [{ type: 'text', text }],
60
+ isError: true,
61
+ };
70
62
  }
71
- const message = originalMessage.startsWith('[Totem Error]')
72
- ? originalMessage
73
- : `[Totem Error] Failed to search knowledge: ${originalMessage}`;
74
- return { content: [{ type: 'text', text: message }], isError: true };
75
63
  }
76
64
  });
77
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-knowledge.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-knowledge.js","sourceRoot":"","sources":["../../src/tools/search-knowledge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI3D,KAAK,UAAU,aAAa,CAC1B,KAAa,EACb,UAAwB,EACxB,UAAmB;IAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QACjC,KAAK;QACL,UAAU;QACV,UAAU,EAAE,UAAU,IAAI,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,OAAO;SACtB,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK;QACxC,aAAa,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;QAChE,GAAG,CAAC,CAAC,OAAO,EAAE,CACjB;SACA,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,sFAAsF;QACxF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9C,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;SAChE;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,sEAAsE;YACtE,wEAAwE;YACxE,IAAI,CAAC;gBACH,MAAM,cAAc,EAAE,CAAC;gBACvB,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,oDAAoD;gBACpD,MAAM,eAAe,GACnB,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3E,MAAM,YAAY,GAAG,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAErF,MAAM,IAAI,GACR,eAAe,KAAK,YAAY;oBAC9B,CAAC,CAAC,gCAAgC,eAAe,EAAE;oBACnD,CAAC,CAAC,+CAA+C,eAAe,wCAAwC,YAAY,EAAE,CAAC;gBAE3H,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;oBAC1C,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmnto/mcp",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "MCP server for Totem — AI persistent memory and context layer",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,7 +18,7 @@
18
18
  "@modelcontextprotocol/sdk": "^1.0.0",
19
19
  "jiti": "^2.4.0",
20
20
  "zod": "^3.24.0",
21
- "@mmnto/totem": "0.6.0"
21
+ "@mmnto/totem": "0.8.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^22.0.0",