obsidian-mcp-pro 2.0.0 → 3.0.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.
Files changed (91) hide show
  1. package/README.md +15 -7
  2. package/build/http-server.d.ts.map +1 -1
  3. package/build/http-server.js +68 -32
  4. package/build/http-server.js.map +1 -1
  5. package/build/index.d.ts.map +1 -1
  6. package/build/index.js +22 -14
  7. package/build/index.js.map +1 -1
  8. package/build/install.d.ts.map +1 -1
  9. package/build/install.js +1 -1
  10. package/build/install.js.map +1 -1
  11. package/build/lib/bases.d.ts.map +1 -1
  12. package/build/lib/bases.js +26 -11
  13. package/build/lib/bases.js.map +1 -1
  14. package/build/lib/chunker.js +81 -2
  15. package/build/lib/chunker.js.map +1 -1
  16. package/build/lib/dates.d.ts +2 -0
  17. package/build/lib/dates.d.ts.map +1 -1
  18. package/build/lib/dates.js +24 -0
  19. package/build/lib/dates.js.map +1 -1
  20. package/build/lib/embedding-providers.js +1 -1
  21. package/build/lib/embedding-providers.js.map +1 -1
  22. package/build/lib/embedding-store.d.ts +1 -0
  23. package/build/lib/embedding-store.d.ts.map +1 -1
  24. package/build/lib/embedding-store.js +110 -18
  25. package/build/lib/embedding-store.js.map +1 -1
  26. package/build/lib/errors.d.ts.map +1 -1
  27. package/build/lib/errors.js +13 -1
  28. package/build/lib/errors.js.map +1 -1
  29. package/build/lib/fs-ops.d.ts +2 -0
  30. package/build/lib/fs-ops.d.ts.map +1 -0
  31. package/build/lib/fs-ops.js +26 -0
  32. package/build/lib/fs-ops.js.map +1 -0
  33. package/build/lib/index-cache.d.ts +10 -0
  34. package/build/lib/index-cache.d.ts.map +1 -1
  35. package/build/lib/index-cache.js +36 -10
  36. package/build/lib/index-cache.js.map +1 -1
  37. package/build/lib/link-rewriter.d.ts.map +1 -1
  38. package/build/lib/link-rewriter.js +35 -3
  39. package/build/lib/link-rewriter.js.map +1 -1
  40. package/build/lib/logger.d.ts.map +1 -1
  41. package/build/lib/logger.js +88 -7
  42. package/build/lib/logger.js.map +1 -1
  43. package/build/lib/markdown.js.map +1 -1
  44. package/build/lib/progress.js +1 -1
  45. package/build/lib/progress.js.map +1 -1
  46. package/build/lib/sections.d.ts.map +1 -1
  47. package/build/lib/sections.js +2 -0
  48. package/build/lib/sections.js.map +1 -1
  49. package/build/lib/tag-rewriter.d.ts +1 -0
  50. package/build/lib/tag-rewriter.d.ts.map +1 -1
  51. package/build/lib/tag-rewriter.js +6 -1
  52. package/build/lib/tag-rewriter.js.map +1 -1
  53. package/build/lib/tool-output.d.ts +2 -0
  54. package/build/lib/tool-output.d.ts.map +1 -0
  55. package/build/lib/tool-output.js +5 -0
  56. package/build/lib/tool-output.js.map +1 -0
  57. package/build/lib/vault.d.ts +32 -2
  58. package/build/lib/vault.d.ts.map +1 -1
  59. package/build/lib/vault.js +201 -91
  60. package/build/lib/vault.js.map +1 -1
  61. package/build/tools/attachments.d.ts.map +1 -1
  62. package/build/tools/attachments.js +117 -46
  63. package/build/tools/attachments.js.map +1 -1
  64. package/build/tools/bases.d.ts.map +1 -1
  65. package/build/tools/bases.js +14 -12
  66. package/build/tools/bases.js.map +1 -1
  67. package/build/tools/canvas.d.ts.map +1 -1
  68. package/build/tools/canvas.js +118 -59
  69. package/build/tools/canvas.js.map +1 -1
  70. package/build/tools/links.d.ts.map +1 -1
  71. package/build/tools/links.js +183 -124
  72. package/build/tools/links.js.map +1 -1
  73. package/build/tools/prompts.d.ts.map +1 -1
  74. package/build/tools/prompts.js +14 -12
  75. package/build/tools/prompts.js.map +1 -1
  76. package/build/tools/read.d.ts.map +1 -1
  77. package/build/tools/read.js +105 -87
  78. package/build/tools/read.js.map +1 -1
  79. package/build/tools/sections.d.ts.map +1 -1
  80. package/build/tools/sections.js +84 -20
  81. package/build/tools/sections.js.map +1 -1
  82. package/build/tools/semantic.d.ts.map +1 -1
  83. package/build/tools/semantic.js +45 -49
  84. package/build/tools/semantic.js.map +1 -1
  85. package/build/tools/tags.d.ts.map +1 -1
  86. package/build/tools/tags.js +100 -56
  87. package/build/tools/tags.js.map +1 -1
  88. package/build/tools/write.d.ts.map +1 -1
  89. package/build/tools/write.js +27 -23
  90. package/build/tools/write.js.map +1 -1
  91. package/package.json +22 -13
@@ -1,11 +1,111 @@
1
+ import { randomUUID } from "crypto";
2
+ import fs from "fs/promises";
3
+ import path from "path";
1
4
  import { z } from "zod";
2
5
  import { listCanvasFiles, readCanvasFile, updateCanvasFile, resolveVaultPathSafe } from "../lib/vault.js";
3
- import { sanitizeError } from "../lib/errors.js";
6
+ import { escapeControlChars, sanitizeError } from "../lib/errors.js";
4
7
  import { log } from "../lib/logger.js";
5
- import { randomUUID } from "crypto";
8
+ const CANVAS_READ_CACHE_LIMIT = 16;
9
+ const canvasReadCache = new Map();
6
10
  function errorResult(text) {
7
11
  return { content: [{ type: "text", text }], isError: true };
8
12
  }
13
+ function displayCanvasValue(value) {
14
+ return escapeControlChars(value);
15
+ }
16
+ function canvasReadCacheKey(vaultPath, canvasPath) {
17
+ return `${path.resolve(vaultPath)}\0${canvasPath}`;
18
+ }
19
+ async function getCanvasReadSignature(vaultPath, canvasPath) {
20
+ const fullPath = await resolveVaultPathSafe(vaultPath, canvasPath);
21
+ try {
22
+ const stats = await fs.stat(fullPath);
23
+ return { fullPath, size: stats.size, mtimeMs: stats.mtimeMs };
24
+ }
25
+ catch (err) {
26
+ if (err.code === "ENOENT") {
27
+ // Preserve the existing read_canvas missing-file error shape, which
28
+ // came from readFile rather than stat.
29
+ await readCanvasFile(vaultPath, canvasPath);
30
+ }
31
+ throw err;
32
+ }
33
+ }
34
+ function renderCanvasSummary(canvasPath, data) {
35
+ const lines = [];
36
+ lines.push(`Canvas: ${displayCanvasValue(canvasPath)}`);
37
+ lines.push(`Nodes: ${data.nodes.length} | Edges: ${data.edges.length}`);
38
+ lines.push("");
39
+ if (data.nodes.length > 0) {
40
+ lines.push("--- Nodes ---");
41
+ for (const node of data.nodes) {
42
+ const pos = `(${node.x}, ${node.y})`;
43
+ const size = `${node.width}x${node.height}`;
44
+ let preview = "";
45
+ if (node.type === "text" && node.text) {
46
+ preview = node.text.length > 100
47
+ ? node.text.slice(0, 100) + "..."
48
+ : node.text;
49
+ }
50
+ else if (node.type === "file" && node.file) {
51
+ preview = node.file;
52
+ }
53
+ else if (node.type === "link" && node.url) {
54
+ preview = node.url;
55
+ }
56
+ else if (node.type === "group" && node.label) {
57
+ preview = `Group: ${node.label}`;
58
+ }
59
+ lines.push(` [${displayCanvasValue(node.id)}] type=${displayCanvasValue(node.type)} pos=${pos} size=${size}`);
60
+ if (preview) {
61
+ lines.push(` content: ${displayCanvasValue(preview)}`);
62
+ }
63
+ if (node.color) {
64
+ lines.push(` color: ${displayCanvasValue(node.color)}`);
65
+ }
66
+ }
67
+ lines.push("");
68
+ }
69
+ if (data.edges.length > 0) {
70
+ lines.push("--- Edges ---");
71
+ for (const edge of data.edges) {
72
+ const label = edge.label ? ` [${displayCanvasValue(edge.label)}]` : "";
73
+ const sides = [
74
+ edge.fromSide ? `from-side=${displayCanvasValue(edge.fromSide)}` : "",
75
+ edge.toSide ? `to-side=${displayCanvasValue(edge.toSide)}` : "",
76
+ ].filter(Boolean).join(" ");
77
+ const sideInfo = sides ? ` (${sides})` : "";
78
+ lines.push(` ${displayCanvasValue(edge.fromNode)} -> ${displayCanvasValue(edge.toNode)}${label}${sideInfo}`);
79
+ }
80
+ }
81
+ return lines.join("\n");
82
+ }
83
+ async function readCanvasSummaryCached(vaultPath, canvasPath) {
84
+ const signature = await getCanvasReadSignature(vaultPath, canvasPath);
85
+ const key = canvasReadCacheKey(vaultPath, canvasPath);
86
+ const cached = canvasReadCache.get(key);
87
+ if (cached &&
88
+ cached.fullPath === signature.fullPath &&
89
+ cached.size === signature.size &&
90
+ cached.mtimeMs === signature.mtimeMs) {
91
+ canvasReadCache.delete(key);
92
+ canvasReadCache.set(key, cached);
93
+ return cached.text;
94
+ }
95
+ const data = await readCanvasFile(vaultPath, canvasPath);
96
+ const text = renderCanvasSummary(canvasPath, data);
97
+ canvasReadCache.set(key, { ...signature, text });
98
+ while (canvasReadCache.size > CANVAS_READ_CACHE_LIMIT) {
99
+ const oldestKey = canvasReadCache.keys().next().value;
100
+ if (oldestKey === undefined)
101
+ break;
102
+ canvasReadCache.delete(oldestKey);
103
+ }
104
+ return text;
105
+ }
106
+ function invalidateCanvasReadCache(vaultPath, canvasPath) {
107
+ canvasReadCache.delete(canvasReadCacheKey(vaultPath, canvasPath));
108
+ }
9
109
  export function registerCanvasTools(server, vaultPath) {
10
110
  server.registerTool("list_canvases", {
11
111
  title: "List Canvases",
@@ -22,7 +122,7 @@ export function registerCanvasTools(server, vaultPath) {
22
122
  if (files.length === 0) {
23
123
  return { content: [{ type: "text", text: "No canvas files found in the vault." }] };
24
124
  }
25
- const formatted = files.map((f, i) => `${i + 1}. ${f}`).join("\n");
125
+ const formatted = files.map((f, i) => `${i + 1}. ${displayCanvasValue(f)}`).join("\n");
26
126
  return {
27
127
  content: [{ type: "text", text: `Found ${files.length} canvas file(s):\n\n${formatted}` }],
28
128
  };
@@ -50,54 +150,8 @@ export function registerCanvasTools(server, vaultPath) {
50
150
  },
51
151
  }, async ({ path: canvasPath }) => {
52
152
  try {
53
- const data = await readCanvasFile(vaultPath, canvasPath);
54
- const lines = [];
55
- lines.push(`Canvas: ${canvasPath}`);
56
- lines.push(`Nodes: ${data.nodes.length} | Edges: ${data.edges.length}`);
57
- lines.push("");
58
- if (data.nodes.length > 0) {
59
- lines.push("--- Nodes ---");
60
- for (const node of data.nodes) {
61
- const pos = `(${node.x}, ${node.y})`;
62
- const size = `${node.width}x${node.height}`;
63
- let preview = "";
64
- if (node.type === "text" && node.text) {
65
- preview = node.text.length > 100
66
- ? node.text.slice(0, 100) + "..."
67
- : node.text;
68
- }
69
- else if (node.type === "file" && node.file) {
70
- preview = node.file;
71
- }
72
- else if (node.type === "link" && node.url) {
73
- preview = node.url;
74
- }
75
- else if (node.type === "group" && node.label) {
76
- preview = `Group: ${node.label}`;
77
- }
78
- lines.push(` [${node.id}] type=${node.type} pos=${pos} size=${size}`);
79
- if (preview) {
80
- lines.push(` content: ${preview}`);
81
- }
82
- if (node.color) {
83
- lines.push(` color: ${node.color}`);
84
- }
85
- }
86
- lines.push("");
87
- }
88
- if (data.edges.length > 0) {
89
- lines.push("--- Edges ---");
90
- for (const edge of data.edges) {
91
- const label = edge.label ? ` [${edge.label}]` : "";
92
- const sides = [
93
- edge.fromSide ? `from-side=${edge.fromSide}` : "",
94
- edge.toSide ? `to-side=${edge.toSide}` : "",
95
- ].filter(Boolean).join(" ");
96
- const sideInfo = sides ? ` (${sides})` : "";
97
- lines.push(` ${edge.fromNode} -> ${edge.toNode}${label}${sideInfo}`);
98
- }
99
- }
100
- return { content: [{ type: "text", text: lines.join("\n") }] };
153
+ const text = await readCanvasSummaryCached(vaultPath, canvasPath);
154
+ return { content: [{ type: "text", text }] };
101
155
  }
102
156
  catch (err) {
103
157
  log.error("read_canvas failed", { tool: "read_canvas", err: err });
@@ -187,14 +241,14 @@ export function registerCanvasTools(server, vaultPath) {
187
241
  await resolveVaultPathSafe(vaultPath, content);
188
242
  }
189
243
  catch {
190
- return errorResult(`Invalid file reference: "${content}" must be a relative path inside the vault.`);
244
+ return errorResult(`Invalid file reference: "${displayCanvasValue(content)}" must be a relative path inside the vault.`);
191
245
  }
192
246
  }
193
247
  if (type === "link") {
194
248
  // Reject dangerous URI schemes that could execute code when the
195
249
  // canvas is opened in Obsidian or exported to HTML.
196
250
  if (/^(javascript|data|vbscript):/i.test(content)) {
197
- return errorResult(`Invalid URL scheme in "${content}". javascript:, data:, and vbscript: URIs are not allowed.`);
251
+ return errorResult(`Invalid URL scheme in "${displayCanvasValue(content)}". javascript:, data:, and vbscript: URIs are not allowed.`);
198
252
  }
199
253
  }
200
254
  let finalX = 0;
@@ -208,8 +262,8 @@ export function registerCanvasTools(server, vaultPath) {
208
262
  finalY = 50 * count;
209
263
  }
210
264
  else {
211
- finalX = autoStaggerX ? 0 : x;
212
- finalY = autoStaggerY ? 0 : y;
265
+ finalX = autoStaggerX ? 0 : (x);
266
+ finalY = autoStaggerY ? 0 : (y);
213
267
  }
214
268
  const node = {
215
269
  id,
@@ -237,6 +291,7 @@ export function registerCanvasTools(server, vaultPath) {
237
291
  data.nodes.push(node);
238
292
  return data;
239
293
  });
294
+ invalidateCanvasReadCache(vaultPath, canvasPath);
240
295
  return {
241
296
  content: [{ type: "text", text: `Node added successfully.\nID: ${id}\nType: ${type}\nPosition: (${finalX}, ${finalY})` }],
242
297
  };
@@ -290,7 +345,7 @@ export function registerCanvasTools(server, vaultPath) {
290
345
  try {
291
346
  // BUG-15: Reject self-loops early before touching the canvas file.
292
347
  if (fromNode === toNode) {
293
- return errorResult(`Self-loop rejected: fromNode and toNode are the same ('${fromNode}'). Edges must connect two different nodes.`);
348
+ return errorResult(`Self-loop rejected: fromNode and toNode are the same ('${displayCanvasValue(fromNode)}'). Edges must connect two different nodes.`);
294
349
  }
295
350
  const id = randomUUID();
296
351
  // Node-existence validated inside the lock to prevent a concurrent
@@ -299,7 +354,7 @@ export function registerCanvasTools(server, vaultPath) {
299
354
  side;
300
355
  nodeId;
301
356
  constructor(side, nodeId) {
302
- super(`${side} node '${nodeId}' not found in canvas.`);
357
+ super(`${side} node '${displayCanvasValue(nodeId)}' not found in canvas.`);
303
358
  this.side = side;
304
359
  this.nodeId = nodeId;
305
360
  }
@@ -308,7 +363,7 @@ export function registerCanvasTools(server, vaultPath) {
308
363
  from;
309
364
  to;
310
365
  constructor(from, to) {
311
- super(`An edge from '${from}' to '${to}' already exists on the canvas.`);
366
+ super(`An edge from '${displayCanvasValue(from)}' to '${displayCanvasValue(to)}' already exists on the canvas.`);
312
367
  this.from = from;
313
368
  this.to = to;
314
369
  }
@@ -346,8 +401,12 @@ export function registerCanvasTools(server, vaultPath) {
346
401
  }
347
402
  throw err;
348
403
  }
404
+ invalidateCanvasReadCache(vaultPath, canvasPath);
349
405
  return {
350
- content: [{ type: "text", text: `Edge added successfully.\nID: ${id}\nFrom: ${fromNode} -> To: ${toNode}${label ? `\nLabel: ${label}` : ""}` }],
406
+ content: [{
407
+ type: "text",
408
+ text: `Edge added successfully.\nID: ${id}\nFrom: ${displayCanvasValue(fromNode)} -> To: ${displayCanvasValue(toNode)}${label ? `\nLabel: ${displayCanvasValue(label)}` : ""}`,
409
+ }],
351
410
  };
352
411
  }
353
412
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/tools/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/tools/canvas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/tools/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyNpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAoqB5E"}
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/tools/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuXpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA8lB5E"}