obsidian-mcp-server 3.6.1 → 3.7.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 (63) hide show
  1. package/AGENTS.md +27 -17
  2. package/CLAUDE.md +27 -17
  3. package/README.md +22 -13
  4. package/changelog/3.7.x/3.7.0.md +34 -0
  5. package/dist/config/server-config.d.ts +1 -0
  6. package/dist/config/server-config.d.ts.map +1 -1
  7. package/dist/config/server-config.js +4 -0
  8. package/dist/config/server-config.js.map +1 -1
  9. package/dist/index.js +28 -9
  10. package/dist/index.js.map +1 -1
  11. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.d.ts +7 -5
  12. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.d.ts.map +1 -1
  13. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.js +12 -8
  14. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.d.ts +30 -9
  16. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.js +28 -6
  18. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/index.d.ts +230 -294
  20. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/index.js +9 -3
  22. package/dist/mcp-server/tools/definitions/index.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts +107 -10
  24. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js +237 -162
  26. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts +1 -0
  28. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js +61 -19
  30. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.d.ts +6 -1
  32. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js +8 -10
  34. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js.map +1 -1
  35. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.d.ts +7 -5
  36. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.d.ts.map +1 -1
  37. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js +13 -7
  38. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js.map +1 -1
  39. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.d.ts +4 -1
  40. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.d.ts.map +1 -1
  41. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js +15 -4
  42. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js.map +1 -1
  43. package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js +1 -1
  44. package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js.map +1 -1
  45. package/dist/services/obsidian/obsidian-service.d.ts +7 -0
  46. package/dist/services/obsidian/obsidian-service.d.ts.map +1 -1
  47. package/dist/services/obsidian/obsidian-service.js +57 -15
  48. package/dist/services/obsidian/obsidian-service.js.map +1 -1
  49. package/dist/services/obsidian/patch-instruction.d.ts +20 -1
  50. package/dist/services/obsidian/patch-instruction.d.ts.map +1 -1
  51. package/dist/services/obsidian/patch-instruction.js +30 -0
  52. package/dist/services/obsidian/patch-instruction.js.map +1 -1
  53. package/dist/services/obsidian/path-policy.d.ts +23 -1
  54. package/dist/services/obsidian/path-policy.d.ts.map +1 -1
  55. package/dist/services/obsidian/path-policy.js +45 -3
  56. package/dist/services/obsidian/path-policy.js.map +1 -1
  57. package/dist/services/obsidian/section-extractor.d.ts +24 -0
  58. package/dist/services/obsidian/section-extractor.d.ts.map +1 -1
  59. package/dist/services/obsidian/section-extractor.js +37 -0
  60. package/dist/services/obsidian/section-extractor.js.map +1 -1
  61. package/manifest.json +9 -1
  62. package/package.json +2 -2
  63. package/server.json +17 -3
@@ -1 +1 @@
1
- {"version":3,"file":"path-policy.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/path-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtC,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED;;;;;GAKG;AACH,qBAAa,UAAU;;IAKrB,YAAY,MAAM,EAAE,YAAY,EAI/B;IAED,mFAAmF;IACnF,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,2CAA2C;IAC3C,QAAQ,IAAI;QACV,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,CAAC;QAC5C,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,GAAG,oBAAoB,CAAC;QACpE,QAAQ,EAAE,OAAO,CAAC;KACnB,CAMA;IAED,gHAAgH;IAChH,IAAI,yBAAyB,IAAI,OAAO,CAEvC;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAahC;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKhC;IAED,2DAA2D;IAC3D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,0GAA0G;IAC1G,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjC;IAED,oFAAoF;IACpF,cAAc,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAItE;CA0BF"}
1
+ {"version":3,"file":"path-policy.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/path-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtC,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,SAAS,EAAE,sBAAsB,CAAC;CACnC;AAED;;;;;GAKG;AACH,qBAAa,UAAU;;IAKrB,YAAY,MAAM,EAAE,YAAY,EAI/B;IAED,mFAAmF;IACnF,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,2CAA2C;IAC3C,QAAQ,IAAI;QACV,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,CAAC;QAC5C,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,GAAG,oBAAoB,CAAC;QACpE,QAAQ,EAAE,OAAO,CAAC;KACnB,CAMA;IAED,gHAAgH;IAChH,IAAI,yBAAyB,IAAI,OAAO,CAEvC;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAahC;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKhC;IAED,2DAA2D;IAC3D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,0GAA0G;IAC1G,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjC;IAED,kGAAkG;IAClG,cAAc,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAGtE;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrC;IAED,iGAAiG;IACjG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGhC;IAED;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ/D;CA0BF"}
@@ -29,6 +29,13 @@ export class PathPolicy {
29
29
  get isUnrestricted() {
30
30
  return !this.#readOnly && this.#readPaths === undefined && this.#writePaths === undefined;
31
31
  }
32
+ /**
33
+ * True when OBSIDIAN_READ_PATHS gates reads. Write paths and read-only gate
34
+ * writes only, so they leave this false and vault-wide reads stay vault-wide.
35
+ */
36
+ get restrictsReads() {
37
+ return this.#readPaths !== undefined;
38
+ }
32
39
  /** Snapshot for startup-banner logging. */
33
40
  describe() {
34
41
  return {
@@ -78,13 +85,48 @@ export class PathPolicy {
78
85
  return;
79
86
  throw this.#deny(path, 'write', 'outside_write_paths');
80
87
  }
81
- /** Drop reads outside scope. Used by `obsidian_search_notes` to silently filter. */
88
+ /** Drop hits outside the read scope, silently. Used by `obsidian_search_notes` and `listTags`. */
82
89
  filterReadable(hits) {
83
- /** Reads unrestricted when readPaths is unset — `isReadable` short-circuits to true. */
84
- if (this.#readPaths === undefined)
90
+ if (!this.restrictsReads)
85
91
  return [...hits];
86
92
  return hits.filter((h) => this.isReadable(h.filename));
87
93
  }
94
+ /**
95
+ * True when `path` is a folder on the way to the read scope: some readable
96
+ * prefix sits strictly below it, matched at segment boundaries and
97
+ * case-insensitively. The vault root is an ancestor whenever reads are
98
+ * restricted. Ancestors are listable so a nested scope can be browsed to;
99
+ * their names leak nothing the scope itself (in `instructions` and every
100
+ * `path_forbidden`) doesn't already state.
101
+ */
102
+ isScopeAncestor(path) {
103
+ if (!this.restrictsReads)
104
+ return false;
105
+ const candidate = normalize(path);
106
+ if (candidate === '')
107
+ return true;
108
+ return this.#scopeFor('read').some((prefix) => prefix.startsWith(`${candidate}/`));
109
+ }
110
+ /** Throws `path_forbidden` unless `dir` is readable or a folder on the way to the read scope. */
111
+ assertListable(dir) {
112
+ if (this.isReadable(dir) || this.isScopeAncestor(dir))
113
+ return;
114
+ throw this.#deny(dir, 'read', 'outside_read_paths');
115
+ }
116
+ /**
117
+ * Keep the entries of a listing of `dir` a caller may see: readable entries,
118
+ * plus folders on the way to the read scope. Entries are names relative to
119
+ * `dir`, folders ending in `/`, as the Local REST API lists them.
120
+ */
121
+ filterListing(dir, entries) {
122
+ const base = normalize(dir);
123
+ return entries.filter((entry) => {
124
+ const isDir = entry.endsWith('/');
125
+ const name = isDir ? entry.slice(0, -1) : entry;
126
+ const path = base ? `${base}/${name}` : name;
127
+ return this.isReadable(path) || (isDir && this.isScopeAncestor(path));
128
+ });
129
+ }
88
130
  #deny(path, op, subreason) {
89
131
  const activeScope = this.#scopeFor(op);
90
132
  const { message, recovery } = renderDenial(path, op, subreason, activeScope);
@@ -1 +1 @@
1
- {"version":3,"file":"path-policy.js","sourceRoot":"","sources":["../../../src/services/obsidian/path-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAoB1D;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACZ,UAAU,CAAgC;IAC1C,WAAW,CAAgC;IAC3C,SAAS,CAAU;IAE5B,YAAY,MAAoB;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,mFAAmF;IACnF,IAAI,cAAc;QAChB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IAC5F,CAAC;IAED,2CAA2C;IAC3C,QAAQ;QAKN,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,YAAY;YAC1C,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC;YACtF,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAED,gHAAgH;IAChH,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,sFAAsF;QACtF,IACE,CAAC,IAAI,CAAC,SAAS;YACf,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,2DAA2D;IAC3D,cAAc,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvD,CAAC;IAED,0GAA0G;IAC1G,cAAc,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,oFAAoF;IACpF,cAAc,CAAiC,IAAkB;QAC/D,wFAAwF;QACxF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,EAAU,EAAE,SAAiC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAsB;YAC9B,MAAM,EAAE,gBAAgB;YACxB,IAAI;YACJ,EAAE;YACF,SAAS;YACT,WAAW;YACX,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7B,CAAC;QACF,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU;YAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW;YAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B;;;;;OAKG;IACH,OAAO,IAAI;SACR,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB,EAAE,QAA2B;IAChE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACtC,6EAA6E;QAC7E,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,IAAY,EACZ,EAAU,EACV,SAAiC,EACjC,WAA8B;IAE9B,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,SAAS,IAAI,2EAA2E;YACjG,QAAQ,EAAE,iEAAiE;SAC5E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GACV,SAAS,KAAK,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvF,MAAM,OAAO,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,MAAM,WAAW,GACf,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO;QACL,OAAO,EAAE,SAAS,IAAI,YAAY,OAAO,aAAa,MAAM,GAAG;QAC/D,QAAQ,EAAE,sBAAsB,WAAW,yCAAyC,MAAM,wBAAwB;KACnH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"path-policy.js","sourceRoot":"","sources":["../../../src/services/obsidian/path-policy.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@
3
3
  * `format: 'section'`. Headings are found the way the plugin's markdown-patch
4
4
  * finds them for its document map and PATCH targeting, so a section read
5
5
  * covers the span a section write edits, sliced from the note's own bytes.
6
+ * `marked` is pinned exact to the 17.x line markdown-patch parses with:
7
+ * `marked` 18 reads some shapes differently (a `#tag` line over `===`, a tab
8
+ * before an ATX closing sequence, an empty `- ` item), which would split this
9
+ * scan from the plugin's document map.
6
10
  * @module services/obsidian/section-extractor
7
11
  */
8
12
  import type { NoteJson, SectionTarget } from './types.js';
@@ -81,6 +85,26 @@ export interface SectionBody {
81
85
  * next heading of any level; a `space` token is not a block.
82
86
  */
83
87
  export declare function sectionBody(content: string, path: string): SectionBody | undefined;
88
+ /**
89
+ * The span markdown-patch 1.x edits for the heading at full path `path` (its
90
+ * first occurrence; the service refuses a write to a repeated path), as
91
+ * offsets into `content`, or `undefined` when the note has no such heading.
92
+ * `start` is where a prepend or replace splices in: one past the heading's raw
93
+ * text with trailing whitespace trimmed, which is just past an ordinary
94
+ * heading line's line ending, inside a line's trailing spaces, and past the
95
+ * end of a note whose unterminated last line is the heading. `end` is where an
96
+ * append splices in: the next heading at the same or a shallower level, or the
97
+ * end of the note.
98
+ *
99
+ * The 1.x engine lexes the frontmatter-stripped body with its line endings
100
+ * normalized, then applies the token offsets to the note's own bytes unmapped;
101
+ * these offsets are computed the same way, so on a CRLF note they drift as the
102
+ * engine's do.
103
+ */
104
+ export declare function v1HeadingSpan(content: string, path: string): {
105
+ end: number;
106
+ start: number;
107
+ } | undefined;
84
108
  /** The `marked` token type of each top-level block in `markdown`, in order. */
85
109
  export declare function blockKinds(markdown: string): string[];
86
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"section-extractor.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/section-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK1D,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,iBAAiB,CASxF;AAYD,kFAAkF;AAClF,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,iHAAiH;IACjH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAaD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAMvD;AA6BD,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAoBlF;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAIrD;AAuJD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW/F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAa3E;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CActE;AAmJD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,SAAI,GAAG,OAAO,EAAE,CA0BrE"}
1
+ {"version":3,"file":"section-extractor.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/section-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK1D,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,iBAAiB,CASxF;AAYD,kFAAkF;AAClF,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,iHAAiH;IACjH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAaD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAMvD;AA6BD,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAoBlF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAe5C;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAIrD;AAuJD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW/F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAa3E;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CActE;AAmJD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,SAAI,GAAG,OAAO,EAAE,CA0BrE"}
@@ -3,6 +3,10 @@
3
3
  * `format: 'section'`. Headings are found the way the plugin's markdown-patch
4
4
  * finds them for its document map and PATCH targeting, so a section read
5
5
  * covers the span a section write edits, sliced from the note's own bytes.
6
+ * `marked` is pinned exact to the 17.x line markdown-patch parses with:
7
+ * `marked` 18 reads some shapes differently (a `#tag` line over `===`, a tab
8
+ * before an ATX closing sequence, an empty `- ` item), which would split this
9
+ * scan from the plugin's document map.
6
10
  * @module services/obsidian/section-extractor
7
11
  */
8
12
  import { notFound } from '@cyanheads/mcp-ts-core/errors';
@@ -113,6 +117,39 @@ export function sectionBody(content, path) {
113
117
  subsections: next !== undefined && next.level > heading.level,
114
118
  };
115
119
  }
120
+ /**
121
+ * The span markdown-patch 1.x edits for the heading at full path `path` (its
122
+ * first occurrence; the service refuses a write to a repeated path), as
123
+ * offsets into `content`, or `undefined` when the note has no such heading.
124
+ * `start` is where a prepend or replace splices in: one past the heading's raw
125
+ * text with trailing whitespace trimmed, which is just past an ordinary
126
+ * heading line's line ending, inside a line's trailing spaces, and past the
127
+ * end of a note whose unterminated last line is the heading. `end` is where an
128
+ * append splices in: the next heading at the same or a shallower level, or the
129
+ * end of the note.
130
+ *
131
+ * The 1.x engine lexes the frontmatter-stripped body with its line endings
132
+ * normalized, then applies the token offsets to the note's own bytes unmapped;
133
+ * these offsets are computed the same way, so on a CRLF note they drift as the
134
+ * engine's do.
135
+ */
136
+ export function v1HeadingSpan(content, path) {
137
+ const bodyStart = PLUGIN_FRONTMATTER.exec(content)?.[0].length ?? 0;
138
+ const { normalized } = normalizeLineEndings(content.slice(bodyStart));
139
+ const headings = [...topLevelTokens(normalized)].flatMap((top) => {
140
+ const heading = headingOf(normalized, top);
141
+ return heading ? [{ ...heading, raw: top.token.raw }] : [];
142
+ });
143
+ const h = headingPaths(headings).indexOf(path);
144
+ const heading = headings[h];
145
+ if (!heading)
146
+ return;
147
+ const closing = headings.find((other, i) => i > h && other.level <= heading.level);
148
+ return {
149
+ start: bodyStart + heading.start + heading.raw.trimEnd().length + 1,
150
+ end: closing ? bodyStart + closing.start : content.length,
151
+ };
152
+ }
116
153
  /** The `marked` token type of each top-level block in `markdown`, in order. */
117
154
  export function blockKinds(markdown) {
118
155
  return [...topLevelTokens(normalizeLineEndings(markdown).normalized)].flatMap(({ token }) => token.type === 'space' ? [] : [token.type]);
@@ -1 +1 @@
1
- {"version":3,"file":"section-extractor.js","sourceRoot":"","sources":["../../../src/services/obsidian/section-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"section-extractor.js","sourceRoot":"","sources":["../../../src/services/obsidian/section-extractor.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": "0.3",
3
3
  "name": "obsidian-mcp-server",
4
- "version": "3.6.1",
4
+ "version": "3.7.0",
5
5
  "description": "Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP.",
6
6
  "author": {
7
7
  "name": "cyanheads",
@@ -32,6 +32,7 @@
32
32
  "OBSIDIAN_READ_PATHS": "${user_config.OBSIDIAN_READ_PATHS}",
33
33
  "OBSIDIAN_WRITE_PATHS": "${user_config.OBSIDIAN_WRITE_PATHS}",
34
34
  "OBSIDIAN_READ_ONLY": "${user_config.OBSIDIAN_READ_ONLY}",
35
+ "OBSIDIAN_DELETE_ELICITATION": "${user_config.OBSIDIAN_DELETE_ELICITATION}",
35
36
  "OBSIDIAN_OMNISEARCH_URL": "${user_config.OBSIDIAN_OMNISEARCH_URL}",
36
37
  "MCP_LOG_LEVEL": "${user_config.MCP_LOG_LEVEL}"
37
38
  }
@@ -100,6 +101,13 @@
100
101
  "required": false,
101
102
  "default": ""
102
103
  },
104
+ "OBSIDIAN_DELETE_ELICITATION": {
105
+ "title": "Confirm Deletes",
106
+ "description": "When true, obsidian_delete_note asks you to confirm each delete in a form before removing the note. Off by default — the delete runs without asking.",
107
+ "type": "string",
108
+ "required": false,
109
+ "default": ""
110
+ },
103
111
  "OBSIDIAN_OMNISEARCH_URL": {
104
112
  "title": "Omnisearch URL",
105
113
  "description": "Override URL for the Omnisearch plugin HTTP server (port 51361 by default). Set only if the plugin is not on the default port.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-mcp-server",
3
- "version": "3.6.1",
3
+ "version": "3.7.0",
4
4
  "mcpName": "io.github.cyanheads/obsidian-mcp-server",
5
5
  "description": "Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -102,7 +102,7 @@
102
102
  "@socketsecurity/bun-security-scanner": "^1.1.3",
103
103
  "@types/node": "^26.6.4",
104
104
  "depcheck": "^1.4.7",
105
- "ignore": "^7.0.11",
105
+ "ignore": "^7.0.12",
106
106
  "tsc-alias": "^1.9.7",
107
107
  "typescript": "^7.0.2",
108
108
  "vitest": "^5.0.3"
package/server.json CHANGED
@@ -6,14 +6,14 @@
6
6
  "url": "https://github.com/cyanheads/obsidian-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "3.6.1",
9
+ "version": "3.7.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "registryBaseUrl": "https://registry.npmjs.org",
14
14
  "identifier": "obsidian-mcp-server",
15
15
  "runtimeHint": "npx",
16
- "version": "3.6.1",
16
+ "version": "3.7.0",
17
17
  "environmentVariables": [
18
18
  {
19
19
  "name": "OBSIDIAN_API_KEY",
@@ -68,6 +68,13 @@
68
68
  "isRequired": false,
69
69
  "default": "false"
70
70
  },
71
+ {
72
+ "name": "OBSIDIAN_DELETE_ELICITATION",
73
+ "description": "Opt-in delete confirmation. When true, obsidian_delete_note asks the user to confirm each delete through an elicitation round (the client must support elicitation), and HTTP startup requires a stateful session unless OBSIDIAN_READ_ONLY=true disables the tool. Off by default — the delete runs on the first call, bounded by OBSIDIAN_WRITE_PATHS and OBSIDIAN_READ_ONLY.",
74
+ "format": "string",
75
+ "isRequired": false,
76
+ "default": "false"
77
+ },
71
78
  {
72
79
  "name": "OBSIDIAN_OMNISEARCH_URL",
73
80
  "description": "Override URL for the Omnisearch plugin HTTP server. Unset derives from OBSIDIAN_BASE_URL host with port 51361. Required only if the Omnisearch plugin is not on the default port.",
@@ -91,7 +98,7 @@
91
98
  "registryBaseUrl": "https://registry.npmjs.org",
92
99
  "identifier": "obsidian-mcp-server",
93
100
  "runtimeHint": "npx",
94
- "version": "3.6.1",
101
+ "version": "3.7.0",
95
102
  "environmentVariables": [
96
103
  {
97
104
  "name": "MCP_TRANSPORT_TYPE",
@@ -152,6 +159,13 @@
152
159
  "isRequired": false,
153
160
  "default": "false"
154
161
  },
162
+ {
163
+ "name": "OBSIDIAN_DELETE_ELICITATION",
164
+ "description": "Opt-in delete confirmation. When true, obsidian_delete_note asks the user to confirm each delete through an elicitation round (the client must support elicitation), and HTTP startup requires a stateful session unless OBSIDIAN_READ_ONLY=true disables the tool. Off by default — the delete runs on the first call, bounded by OBSIDIAN_WRITE_PATHS and OBSIDIAN_READ_ONLY.",
165
+ "format": "string",
166
+ "isRequired": false,
167
+ "default": "false"
168
+ },
155
169
  {
156
170
  "name": "OBSIDIAN_OMNISEARCH_URL",
157
171
  "description": "Override URL for the Omnisearch plugin HTTP server. Unset derives from OBSIDIAN_BASE_URL host with port 51361. Required only if the Omnisearch plugin is not on the default port.",