@velvetmonkey/flywheel-memory 2.0.79 → 2.0.80

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 (2) hide show
  1. package/dist/index.js +12 -7
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -9913,11 +9913,16 @@ function registerQueryTools(server2, getIndex, getVaultPath, getStateDb) {
9913
9913
  const merged = Array.from(allPaths).map((p) => {
9914
9914
  const title = fts5Map.get(p)?.title || semanticMap.get(p)?.title || entityMap.get(p)?.name || p.replace(/\.md$/, "").split("/").pop() || p;
9915
9915
  const snippet = fts5Map.get(p)?.snippet;
9916
- const rrfScore = rrfScores.get(p) || 0;
9917
- return { rrfScore, ...enrichResult({ path: p, title, snippet }, index, getStateDb()) };
9916
+ return {
9917
+ ...enrichResult({ path: p, title, snippet }, index, getStateDb()),
9918
+ rrf_score: rrfScores.get(p) || 0,
9919
+ in_fts5: fts5Map.has(p),
9920
+ in_semantic: semanticMap.has(p),
9921
+ in_entity: entityMap.has(p)
9922
+ };
9918
9923
  });
9919
- merged.sort((a, b) => b.rrfScore - a.rrfScore);
9920
- const results = merged.slice(0, limit).map(({ rrfScore, ...rest }) => rest);
9924
+ merged.sort((a, b) => b.rrf_score - a.rrf_score);
9925
+ const results = merged.slice(0, limit);
9921
9926
  return { content: [{ type: "text", text: JSON.stringify({
9922
9927
  scope,
9923
9928
  method: "hybrid",
@@ -9934,8 +9939,8 @@ function registerQueryTools(server2, getIndex, getVaultPath, getStateDb) {
9934
9939
  const fts5Map = new Map(fts5Results.map((r) => [normalizePath2(r.path), r]));
9935
9940
  const entityRanked = entityResults.filter((r) => !fts5Map.has(normalizePath2(r.path)));
9936
9941
  const merged = [
9937
- ...fts5Results.map((r) => enrichResult({ path: r.path, title: r.title, snippet: r.snippet }, index, getStateDb())),
9938
- ...entityRanked.map((r) => enrichResult({ path: r.path, title: r.name }, index, getStateDb()))
9942
+ ...fts5Results.map((r) => ({ ...enrichResult({ path: r.path, title: r.title, snippet: r.snippet }, index, getStateDb()), in_fts5: true })),
9943
+ ...entityRanked.map((r) => ({ ...enrichResult({ path: r.path, title: r.name }, index, getStateDb()), in_entity: true }))
9939
9944
  ];
9940
9945
  return { content: [{ type: "text", text: JSON.stringify({
9941
9946
  scope: "content",
@@ -9945,7 +9950,7 @@ function registerQueryTools(server2, getIndex, getVaultPath, getStateDb) {
9945
9950
  results: merged.slice(0, limit)
9946
9951
  }, null, 2) }] };
9947
9952
  }
9948
- const enrichedFts5 = fts5Results.map((r) => enrichResult({ path: r.path, title: r.title, snippet: r.snippet }, index, getStateDb()));
9953
+ const enrichedFts5 = fts5Results.map((r) => ({ ...enrichResult({ path: r.path, title: r.title, snippet: r.snippet }, index, getStateDb()), in_fts5: true }));
9949
9954
  return { content: [{ type: "text", text: JSON.stringify({
9950
9955
  scope: "content",
9951
9956
  method: "fts5",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velvetmonkey/flywheel-memory",
3
- "version": "2.0.79",
3
+ "version": "2.0.80",
4
4
  "description": "MCP server that gives Claude full read/write access to your Obsidian vault. Select from 51 tools for search, backlinks, graph queries, mutations, agent memory, and hybrid semantic search.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@modelcontextprotocol/sdk": "^1.25.1",
55
- "@velvetmonkey/vault-core": "^2.0.78",
55
+ "@velvetmonkey/vault-core": "^2.0.80",
56
56
  "better-sqlite3": "^11.0.0",
57
57
  "chokidar": "^4.0.0",
58
58
  "gray-matter": "^4.0.3",