@velvetmonkey/flywheel-memory 2.0.38 → 2.0.39

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 -3
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -17369,6 +17369,7 @@ async function runPostIndexWork(index) {
17369
17369
  const entitiesAfter = stateDb ? getAllEntitiesFromDb3(stateDb) : [];
17370
17370
  const entityDiff = computeEntityDiff(entitiesBefore, entitiesAfter);
17371
17371
  const categoryChanges = [];
17372
+ const descriptionChanges = [];
17372
17373
  if (stateDb) {
17373
17374
  const beforeMap = new Map(entitiesBefore.map((e) => [e.name, e]));
17374
17375
  const insertChange = stateDb.db.prepare(
@@ -17380,9 +17381,17 @@ async function runPostIndexWork(index) {
17380
17381
  insertChange.run(after.name, "category", before.category, after.category);
17381
17382
  categoryChanges.push({ entity: after.name, from: before.category, to: after.category });
17382
17383
  }
17384
+ if (before) {
17385
+ const oldDesc = before.description ?? null;
17386
+ const newDesc = after.description ?? null;
17387
+ if (oldDesc !== newDesc) {
17388
+ insertChange.run(after.name, "description", oldDesc, newDesc);
17389
+ descriptionChanges.push({ entity: after.name, from: oldDesc, to: newDesc });
17390
+ }
17391
+ }
17383
17392
  }
17384
17393
  }
17385
- tracker.end({ entity_count: entitiesAfter.length, ...entityDiff, category_changes: categoryChanges });
17394
+ tracker.end({ entity_count: entitiesAfter.length, ...entityDiff, category_changes: categoryChanges, description_changes: descriptionChanges });
17386
17395
  serverLog("watcher", `Entity scan: ${entitiesAfter.length} entities`);
17387
17396
  tracker.start("hub_scores", { entity_count: entitiesAfter.length });
17388
17397
  const hubUpdated = await exportHubScores(vaultIndex, stateDb);
@@ -17521,6 +17530,7 @@ async function runPostIndexWork(index) {
17521
17530
  }
17522
17531
  }
17523
17532
  const linkDiffs = [];
17533
+ const survivedLinks = [];
17524
17534
  if (stateDb) {
17525
17535
  const upsertHistory = stateDb.db.prepare(`
17526
17536
  INSERT INTO note_link_history (note_path, target) VALUES (?, ?)
@@ -17536,7 +17546,6 @@ async function runPostIndexWork(index) {
17536
17546
  const getEdgeCount = stateDb.db.prepare(
17537
17547
  "SELECT edits_survived FROM note_link_history WHERE note_path=? AND target=?"
17538
17548
  );
17539
- const survivedLinks2 = [];
17540
17549
  for (const entry of forwardLinkResults) {
17541
17550
  const currentSet = /* @__PURE__ */ new Set([
17542
17551
  ...entry.resolved.map((n) => n.toLowerCase()),
@@ -17557,7 +17566,7 @@ async function runPostIndexWork(index) {
17557
17566
  upsertHistory.run(entry.file, link);
17558
17567
  const countRow = getEdgeCount.get(entry.file, link);
17559
17568
  if (countRow) {
17560
- survivedLinks2.push({ entity: link, file: entry.file, count: countRow.edits_survived });
17569
+ survivedLinks.push({ entity: link, file: entry.file, count: countRow.edits_survived });
17561
17570
  }
17562
17571
  const hit = checkThreshold.get(entry.file, link);
17563
17572
  if (hit) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velvetmonkey/flywheel-memory",
3
- "version": "2.0.38",
3
+ "version": "2.0.39",
4
4
  "description": "MCP server that gives Claude full read/write access to your Obsidian vault. 42 tools for search, backlinks, graph queries, mutations, 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.38",
55
+ "@velvetmonkey/vault-core": "^2.0.39",
56
56
  "better-sqlite3": "^11.0.0",
57
57
  "chokidar": "^4.0.0",
58
58
  "gray-matter": "^4.0.3",
@@ -74,7 +74,7 @@
74
74
  "engines": {
75
75
  "node": ">=18.0.0"
76
76
  },
77
- "license": "AGPL-3.0-only",
77
+ "license": "Apache-2.0",
78
78
  "files": [
79
79
  "dist",
80
80
  "README.md",