@velvetmonkey/flywheel-memory 2.0.57 → 2.0.58

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 +33 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -8180,11 +8180,43 @@ function registerWikilinkTools(server2, getIndex, getVaultPath) {
8180
8180
  end: z2.coerce.number().describe("End position in text (0-indexed)"),
8181
8181
  target: z2.string().describe("Path to the target note")
8182
8182
  });
8183
+ const ProspectSchema = z2.object({
8184
+ entity: z2.string().describe("The detected text"),
8185
+ start: z2.coerce.number().describe("Start position in text (0-indexed)"),
8186
+ end: z2.coerce.number().describe("End position in text (0-indexed)"),
8187
+ source: z2.enum(["dead_link", "implicit", "both"]).describe("How the prospect was detected"),
8188
+ confidence: z2.enum(["high", "medium", "low"]).describe("Confidence level"),
8189
+ backlink_count: z2.coerce.number().optional().describe("Number of backlinks (for dead link targets)")
8190
+ });
8191
+ const ScoreBreakdownSchema = z2.object({
8192
+ contentMatch: z2.coerce.number(),
8193
+ cooccurrenceBoost: z2.coerce.number(),
8194
+ typeBoost: z2.coerce.number(),
8195
+ contextBoost: z2.coerce.number(),
8196
+ recencyBoost: z2.coerce.number(),
8197
+ crossFolderBoost: z2.coerce.number(),
8198
+ hubBoost: z2.coerce.number(),
8199
+ feedbackAdjustment: z2.coerce.number(),
8200
+ suppressionPenalty: z2.coerce.number().optional(),
8201
+ semanticBoost: z2.coerce.number().optional(),
8202
+ edgeWeightBoost: z2.coerce.number().optional()
8203
+ });
8204
+ const ScoredSuggestionSchema = z2.object({
8205
+ entity: z2.string(),
8206
+ path: z2.string(),
8207
+ totalScore: z2.coerce.number(),
8208
+ breakdown: ScoreBreakdownSchema,
8209
+ confidence: z2.enum(["high", "medium", "low"]),
8210
+ feedbackCount: z2.coerce.number(),
8211
+ accuracy: z2.coerce.number().optional()
8212
+ });
8183
8213
  const SuggestWikilinksOutputSchema = {
8184
8214
  input_length: z2.coerce.number().describe("Length of the input text"),
8185
8215
  suggestion_count: z2.coerce.number().describe("Total number of suggestions found"),
8186
8216
  returned_count: z2.coerce.number().describe("Number of suggestions returned (may be limited)"),
8187
- suggestions: z2.array(SuggestionSchema).describe("List of wikilink suggestions")
8217
+ suggestions: z2.array(SuggestionSchema).describe("List of wikilink suggestions"),
8218
+ prospects: z2.array(ProspectSchema).optional().describe("Prospect entities detected (dead link targets, implicit entities)"),
8219
+ scored_suggestions: z2.array(ScoredSuggestionSchema).optional().describe("Scored suggestions with per-layer breakdown (when detail=true)")
8188
8220
  };
8189
8221
  server2.registerTool(
8190
8222
  "suggest_wikilinks",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velvetmonkey/flywheel-memory",
3
- "version": "2.0.57",
3
+ "version": "2.0.58",
4
4
  "description": "MCP server that gives Claude full read/write access to your Obsidian vault. Select from 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.57",
55
+ "@velvetmonkey/vault-core": "^2.0.58",
56
56
  "better-sqlite3": "^11.0.0",
57
57
  "chokidar": "^4.0.0",
58
58
  "gray-matter": "^4.0.3",