@velvetmonkey/flywheel-memory 2.0.129 → 2.0.130
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/index.js +17 -10
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1239,15 +1239,22 @@ function getDashboardData(stateDb2) {
|
|
|
1239
1239
|
}))
|
|
1240
1240
|
};
|
|
1241
1241
|
}
|
|
1242
|
-
function getEntityScoreTimeline(stateDb2, entityName, daysBack =
|
|
1242
|
+
function getEntityScoreTimeline(stateDb2, entityName, daysBack = 90, limit = 90) {
|
|
1243
1243
|
const cutoff = Date.now() - daysBack * 24 * 60 * 60 * 1e3;
|
|
1244
1244
|
const rows = stateDb2.db.prepare(`
|
|
1245
|
-
SELECT timestamp, total_score, breakdown_json, note_path, passed, threshold
|
|
1246
|
-
FROM suggestion_events
|
|
1247
|
-
|
|
1248
|
-
|
|
1245
|
+
SELECT s.timestamp, s.total_score, s.breakdown_json, s.note_path, s.passed, s.threshold
|
|
1246
|
+
FROM suggestion_events s
|
|
1247
|
+
INNER JOIN (
|
|
1248
|
+
SELECT date(timestamp/1000, 'unixepoch') as day, MAX(total_score) as max_score
|
|
1249
|
+
FROM suggestion_events
|
|
1250
|
+
WHERE entity = ? AND timestamp >= ?
|
|
1251
|
+
GROUP BY day
|
|
1252
|
+
) agg ON date(s.timestamp/1000, 'unixepoch') = agg.day AND s.total_score = agg.max_score
|
|
1253
|
+
WHERE s.entity = ? AND s.timestamp >= ?
|
|
1254
|
+
GROUP BY agg.day
|
|
1255
|
+
ORDER BY s.timestamp ASC
|
|
1249
1256
|
LIMIT ?
|
|
1250
|
-
`).all(entityName, cutoff, limit);
|
|
1257
|
+
`).all(entityName, cutoff, entityName, cutoff, limit);
|
|
1251
1258
|
return rows.map((r) => ({
|
|
1252
1259
|
timestamp: r.timestamp,
|
|
1253
1260
|
score: r.total_score,
|
|
@@ -15303,7 +15310,7 @@ Example: vault_add_to_section({ path: "daily/2026-02-15.md", section: "Log", con
|
|
|
15303
15310
|
format: z12.enum(["plain", "bullet", "task", "numbered", "timestamp-bullet"]).default("plain").describe("How to format the content"),
|
|
15304
15311
|
commit: z12.boolean().default(false).describe("If true, commit this change to git (creates undo point)"),
|
|
15305
15312
|
skipWikilinks: z12.boolean().default(false).describe("If true, skip auto-wikilink application (wikilinks are applied by default)"),
|
|
15306
|
-
suggestOutgoingLinks: z12.boolean().default(
|
|
15313
|
+
suggestOutgoingLinks: z12.boolean().default(false).describe('Suggest related outgoing wikilinks based on content (e.g., "\u2192 [[AI]], [[Philosophy]]"). Off by default \u2014 set true for daily notes, journals, or capture-heavy contexts.'),
|
|
15307
15314
|
maxSuggestions: z12.number().min(1).max(10).default(5).describe("Maximum number of suggested wikilinks (1-10, default: 5)"),
|
|
15308
15315
|
linkedEntities: z12.array(z12.string()).optional().describe("Entity names already linked in the content. When skipWikilinks=true, these are tracked for feedback without re-processing the content."),
|
|
15309
15316
|
dry_run: z12.boolean().optional().default(false).describe("Preview changes without writing to disk"),
|
|
@@ -15464,7 +15471,7 @@ Example: vault_add_to_section({ path: "daily/2026-02-15.md", section: "Log", con
|
|
|
15464
15471
|
useRegex: z12.boolean().default(false).describe("Treat search as regex"),
|
|
15465
15472
|
commit: z12.boolean().default(false).describe("If true, commit this change to git (creates undo point)"),
|
|
15466
15473
|
skipWikilinks: z12.boolean().default(false).describe("If true, skip auto-wikilink application on replacement text"),
|
|
15467
|
-
suggestOutgoingLinks: z12.boolean().default(
|
|
15474
|
+
suggestOutgoingLinks: z12.boolean().default(false).describe('Suggest related outgoing wikilinks based on content (e.g., "\u2192 [[AI]], [[Philosophy]]"). Off by default \u2014 set true for daily notes, journals, or capture-heavy contexts.'),
|
|
15468
15475
|
maxSuggestions: z12.number().min(1).max(10).default(5).describe("Maximum number of suggested wikilinks (1-10, default: 5)"),
|
|
15469
15476
|
dry_run: z12.boolean().optional().default(false).describe("Preview changes without writing to disk"),
|
|
15470
15477
|
agent_id: z12.string().optional().describe("Agent identifier for multi-agent scoping"),
|
|
@@ -15684,7 +15691,7 @@ function registerTaskTools(server2, getVaultPath) {
|
|
|
15684
15691
|
completed: z13.boolean().default(false).describe("Whether the task should start as completed"),
|
|
15685
15692
|
commit: z13.boolean().default(false).describe("If true, commit this change to git (creates undo point)"),
|
|
15686
15693
|
skipWikilinks: z13.boolean().default(false).describe("If true, skip auto-wikilink application (wikilinks are applied by default)"),
|
|
15687
|
-
suggestOutgoingLinks: z13.boolean().default(
|
|
15694
|
+
suggestOutgoingLinks: z13.boolean().default(false).describe('Append suggested outgoing wikilinks based on content (e.g., "\u2192 [[AI]], [[Philosophy]]"). Off by default \u2014 set true for daily notes, journals, or capture-heavy contexts.'),
|
|
15688
15695
|
maxSuggestions: z13.number().min(1).max(10).default(5).describe("Maximum number of suggested wikilinks to append (1-10, default: 5)"),
|
|
15689
15696
|
preserveListNesting: z13.boolean().default(true).describe("Preserve indentation when inserting into nested lists. Default: true"),
|
|
15690
15697
|
validate: z13.boolean().default(true).describe("Check input for common issues"),
|
|
@@ -15832,7 +15839,7 @@ function registerNoteTools(server2, getVaultPath, getIndex) {
|
|
|
15832
15839
|
overwrite: z15.boolean().default(false).describe("If true, overwrite existing file"),
|
|
15833
15840
|
commit: z15.boolean().default(false).describe("If true, commit this change to git (creates undo point)"),
|
|
15834
15841
|
skipWikilinks: z15.boolean().default(false).describe("If true, skip auto-wikilink application (wikilinks are applied by default)"),
|
|
15835
|
-
suggestOutgoingLinks: z15.boolean().default(
|
|
15842
|
+
suggestOutgoingLinks: z15.boolean().default(false).describe('Append suggested outgoing wikilinks based on content (e.g., "\u2192 [[AI]], [[Philosophy]]"). Off by default \u2014 set true for daily notes, journals, or capture-heavy contexts.'),
|
|
15836
15843
|
maxSuggestions: z15.number().min(1).max(10).default(5).describe("Maximum number of suggested wikilinks to append (1-10, default: 5)"),
|
|
15837
15844
|
dry_run: z15.boolean().optional().default(false).describe("Preview changes without writing to disk"),
|
|
15838
15845
|
agent_id: z15.string().optional().describe("Agent identifier for multi-agent scoping"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velvetmonkey/flywheel-memory",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.130",
|
|
4
4
|
"description": "MCP server that gives Claude full read/write access to your Obsidian vault. Select from 69 tools for search, backlinks, graph queries, mutations, agent memory, and hybrid semantic search.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
56
|
-
"@velvetmonkey/vault-core": "2.0.
|
|
56
|
+
"@velvetmonkey/vault-core": "2.0.130",
|
|
57
57
|
"better-sqlite3": "^11.0.0",
|
|
58
58
|
"chokidar": "^4.0.0",
|
|
59
59
|
"gray-matter": "^4.0.3",
|