obsidian-mcp-server 3.6.0 → 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 (79) hide show
  1. package/AGENTS.md +40 -27
  2. package/CLAUDE.md +40 -27
  3. package/Dockerfile +90 -47
  4. package/README.md +130 -151
  5. package/changelog/3.6.x/3.6.1.md +29 -0
  6. package/changelog/3.7.x/3.7.0.md +34 -0
  7. package/dist/config/server-config.d.ts +1 -0
  8. package/dist/config/server-config.d.ts.map +1 -1
  9. package/dist/config/server-config.js +4 -0
  10. package/dist/config/server-config.js.map +1 -1
  11. package/dist/index.js +30 -10
  12. package/dist/index.js.map +1 -1
  13. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.d.ts +7 -5
  14. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.d.ts.map +1 -1
  15. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.js +12 -8
  16. package/dist/mcp-server/resources/definitions/obsidian-tags.resource.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.d.ts +32 -10
  18. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.js +30 -8
  20. package/dist/mcp-server/tools/definitions/_shared/suggest-paths.js.map +1 -1
  21. package/dist/mcp-server/tools/definitions/index.d.ts +230 -294
  22. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  23. package/dist/mcp-server/tools/definitions/index.js +9 -3
  24. package/dist/mcp-server/tools/definitions/index.js.map +1 -1
  25. package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.js +1 -1
  26. package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts +108 -10
  28. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js +254 -133
  30. package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts +1 -0
  32. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js +62 -21
  34. package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js.map +1 -1
  35. package/dist/mcp-server/tools/definitions/obsidian-list-commands.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/obsidian-list-commands.tool.js +1 -2
  37. package/dist/mcp-server/tools/definitions/obsidian-list-commands.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.d.ts +6 -1
  39. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js +9 -12
  41. package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.d.ts +7 -5
  43. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js +14 -9
  45. package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js.map +1 -1
  46. package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.js +1 -2
  48. package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.js.map +1 -1
  49. package/dist/mcp-server/tools/definitions/obsidian-manage-tags.tool.js +2 -2
  50. package/dist/mcp-server/tools/definitions/obsidian-manage-tags.tool.js.map +1 -1
  51. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.d.ts +4 -1
  52. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.d.ts.map +1 -1
  53. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js +15 -4
  54. package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js.map +1 -1
  55. package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.d.ts.map +1 -1
  56. package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.js +2 -3
  57. package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.js.map +1 -1
  58. package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.d.ts.map +1 -1
  59. package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js +2 -5
  60. package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js.map +1 -1
  61. package/dist/services/obsidian/obsidian-service.d.ts +7 -0
  62. package/dist/services/obsidian/obsidian-service.d.ts.map +1 -1
  63. package/dist/services/obsidian/obsidian-service.js +72 -35
  64. package/dist/services/obsidian/obsidian-service.js.map +1 -1
  65. package/dist/services/obsidian/patch-instruction.d.ts +20 -1
  66. package/dist/services/obsidian/patch-instruction.d.ts.map +1 -1
  67. package/dist/services/obsidian/patch-instruction.js +30 -0
  68. package/dist/services/obsidian/patch-instruction.js.map +1 -1
  69. package/dist/services/obsidian/path-policy.d.ts +23 -1
  70. package/dist/services/obsidian/path-policy.d.ts.map +1 -1
  71. package/dist/services/obsidian/path-policy.js +45 -3
  72. package/dist/services/obsidian/path-policy.js.map +1 -1
  73. package/dist/services/obsidian/section-extractor.d.ts +24 -0
  74. package/dist/services/obsidian/section-extractor.d.ts.map +1 -1
  75. package/dist/services/obsidian/section-extractor.js +37 -0
  76. package/dist/services/obsidian/section-extractor.js.map +1 -1
  77. package/manifest.json +9 -1
  78. package/package.json +13 -10
  79. package/server.json +24 -24
@@ -183,7 +183,6 @@ export const obsidianReplaceInNote = tool('obsidian_replace_in_note', {
183
183
  if (safetyIssue) {
184
184
  throw ctx.fail('regex_unsafe', `Unsafe regex '${r.search}': ${safetyIssue}`, {
185
185
  search: r.search,
186
- ...ctx.recoveryFor('regex_unsafe'),
187
186
  });
188
187
  }
189
188
  let re;
@@ -191,7 +190,7 @@ export const obsidianReplaceInNote = tool('obsidian_replace_in_note', {
191
190
  re = new RegExp(pattern, `${r.replaceAll ? 'g' : ''}${r.caseSensitive ? '' : 'i'}`);
192
191
  }
193
192
  catch (err) {
194
- throw ctx.fail('regex_invalid', `Invalid regex '${r.search}': ${err.message}`, { search: r.search, ...ctx.recoveryFor('regex_invalid') }, { cause: err });
193
+ throw ctx.fail('regex_invalid', `Invalid regex '${r.search}': ${err.message}`, { search: r.search }, { cause: err });
195
194
  }
196
195
  // Count separately, then apply with the string overload so $1/$2/$&
197
196
  // capture-group references in `r.replace` are honored.
@@ -255,7 +254,7 @@ export const obsidianReplaceInNote = tool('obsidian_replace_in_note', {
255
254
  if (editFrontmatter && yamlText !== fm.yamlText) {
256
255
  const problem = frontmatterParseError(yamlText);
257
256
  if (problem) {
258
- throw ctx.fail('frontmatter_invalid', `Replacements left the frontmatter of ${note.path} unparseable: ${problem}`, { path: note.path, ...ctx.recoveryFor('frontmatter_invalid') });
257
+ throw ctx.fail('frontmatter_invalid', `Replacements left the frontmatter of ${note.path} unparseable: ${problem}`, { path: note.path });
259
258
  }
260
259
  }
261
260
  let currentSizeInBytes = previousSizeInBytes;
@@ -1 +1 @@
1
- {"version":3,"file":"obsidian-replace-in-note.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-replace-in-note.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"obsidian-replace-in-note.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-replace-in-note.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"obsidian-search-notes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-search-notes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwGjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,EAAE;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqIhF,0BAA0B;;mBAE5B,uFAAuF;uBACnF,8DAA8D;;qBAGhE,gBAAgB;;mBAElB,yEAAyE;uBAE7E,wKAAwK;;qBAGlK,0BAA0B;uBACxB,SAAS;;mBAEb,0HAA0H;uBAE9H,iLAAiL;;qBAG3K,gBAAgB;;mBAElB,0CAA0C;uBAE9C,qJAAqJ;;qBAG/I,eAAe;uBACb,SAAS;;mBAEb,kPAAkP;uBAEtP,6MAA6M;;qBAGvM,wBAAwB;uBACtB,SAAS;;mBAEb,iHAAiH;;uBAGrH,mHAAmH;;;;GA2J1H;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAlNlB,0BAA0B;;mBAE5B,uFAAuF;uBACnF,8DAA8D;;qBAGhE,gBAAgB;;mBAElB,yEAAyE;uBAE7E,wKAAwK;;qBAGlK,0BAA0B;uBACxB,SAAS;;mBAEb,0HAA0H;uBAE9H,iLAAiL;;qBAG3K,gBAAgB;;mBAElB,0CAA0C;uBAE9C,qJAAqJ;;qBAG/I,eAAe;uBACb,SAAS;;mBAEb,kPAAkP;uBAEtP,6MAA6M;;qBAGvM,wBAAwB;uBACtB,SAAS;;mBAEb,iHAAiH;;uBAGrH,mHAAmH;;;;EAwKpC,CAAC"}
1
+ {"version":3,"file":"obsidian-search-notes.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-search-notes.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAsB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwGjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,EAAE;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqIhF,0BAA0B;;mBAE5B,uFAAuF;uBACnF,8DAA8D;;qBAGhE,gBAAgB;;mBAElB,yEAAyE;uBAE7E,wKAAwK;;qBAGlK,0BAA0B;uBACxB,SAAS;;mBAEb,0HAA0H;uBAE9H,iLAAiL;;qBAG3K,gBAAgB;;mBAElB,0CAA0C;uBAE9C,qJAAqJ;;qBAG/I,eAAe;uBACb,SAAS;;mBAEb,kPAAkP;uBAEtP,6MAA6M;;qBAGvM,wBAAwB;uBACtB,SAAS;;mBAEb,iHAAiH;;uBAGrH,mHAAmH;;;;GAwJ1H;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA/MlB,0BAA0B;;mBAE5B,uFAAuF;uBACnF,8DAA8D;;qBAGhE,gBAAgB;;mBAElB,yEAAyE;uBAE7E,wKAAwK;;qBAGlK,0BAA0B;uBACxB,SAAS;;mBAEb,0HAA0H;uBAE9H,iLAAiL;;qBAG3K,gBAAgB;;mBAElB,0CAA0C;uBAE9C,qJAAqJ;;qBAG/I,eAAe;uBACb,SAAS;;mBAEb,kPAAkP;uBAEtP,6MAA6M;;qBAGvM,wBAAwB;uBACtB,SAAS;;mBAEb,iHAAiH;;uBAGrH,mHAAmH;;;;EAqKpC,CAAC"}
@@ -109,7 +109,7 @@ export function buildSearchNotesTool({ omnisearchReachable }) {
109
109
  logic: z
110
110
  .record(z.string(), z.unknown())
111
111
  .optional()
112
- .describe('JSONLogic tree. Required for `jsonlogic` mode; ignored in `text` and `omnisearch` modes (use `query` instead — this field must be an object, so passing a string here is rejected). `glob` and `regexp` take `[PATTERN, VALUE]` — pattern first: `{"glob": ["Projects/*.md", {"var": "path"}]}`. Backlinks ("what links here") have no dedicated tool or upstream endpoint but are expressible this way: `{"regexp": ["\\\\[\\\\[Target Note(\\\\||#|\\\\]\\\\])", {"var": "content"}]}` finds every note whose body wikilinks `Target Note`, in plain, aliased, or section form. `obsidian_get_note` with `includeLinks: true` covers the outgoing direction.'),
112
+ .describe('JSONLogic tree. Required for `jsonlogic` mode; ignored in `text` and `omnisearch` modes (use `query` instead — this field must be an object, so passing a string here is rejected). `glob` and `regexp` take `[PATTERN, VALUE]` — pattern first: `{"glob": ["Projects/*.md", {"var": "path"}]}`. Backlinks ("what links here") have no dedicated tool; find them this way: `{"regexp": ["\\\\[\\\\[Target Note(\\\\\\\\?\\\\||#|\\\\]\\\\])", {"var": "content"}]}` finds every readable note whose body wikilinks or embeds `Target Note`, in plain, aliased (`|`, or the table-safe `\\|`), or section form. `obsidian_get_note` with `includeLinks: true` covers the outgoing direction.'),
113
113
  contextLength: z
114
114
  .number()
115
115
  .int()
@@ -252,7 +252,6 @@ export function buildSearchNotesTool({ omnisearchReachable }) {
252
252
  if (input.pathPrefix && input.mode !== 'text') {
253
253
  throw ctx.fail('path_prefix_invalid_mode', '`pathPrefix` is only valid in text mode.', {
254
254
  mode: input.mode,
255
- ...ctx.recoveryFor('path_prefix_invalid_mode'),
256
255
  });
257
256
  }
258
257
  const policy = svc.policy;
@@ -260,7 +259,6 @@ export function buildSearchNotesTool({ omnisearchReachable }) {
260
259
  if (!input.query) {
261
260
  throw ctx.fail('query_required', '`query` is required for text mode.', {
262
261
  mode: input.mode,
263
- ...ctx.recoveryFor('query_required'),
264
262
  });
265
263
  }
266
264
  ctx.enrich.echo(input.query);
@@ -277,7 +275,7 @@ export function buildSearchNotesTool({ omnisearchReachable }) {
277
275
  }
278
276
  if (input.mode === 'jsonlogic') {
279
277
  if (!input.logic) {
280
- throw ctx.fail('logic_required', '`logic` (JSONLogic tree) is required for jsonlogic mode.', { mode: input.mode, ...ctx.recoveryFor('logic_required') });
278
+ throw ctx.fail('logic_required', '`logic` (JSONLogic tree) is required for jsonlogic mode.', { mode: input.mode });
281
279
  }
282
280
  const raw = await svc.searchJsonLogic(ctx, input.logic);
283
281
  const allowed = policy.filterReadable(raw);
@@ -291,7 +289,6 @@ export function buildSearchNotesTool({ omnisearchReachable }) {
291
289
  if (!input.query) {
292
290
  throw ctx.fail('query_required', '`query` is required for omnisearch mode.', {
293
291
  mode: input.mode,
294
- ...ctx.recoveryFor('query_required'),
295
292
  });
296
293
  }
297
294
  ctx.enrich.echo(input.query);
@@ -1 +1 @@
1
- {"version":3,"file":"obsidian-search-notes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-search-notes.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"obsidian-search-notes.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/obsidian-search-notes.tool.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,13 @@ export declare class ObsidianService {
106
106
  */
107
107
  getSize(ctx: Context, target: NoteTarget): Promise<number>;
108
108
  listFiles(ctx: Context, dirPath?: string): Promise<FileListing>;
109
+ /**
110
+ * Vault tags with usage counts, hierarchical parents included. Unscoped, the
111
+ * plugin's `/tags/` with its occurrence counts. That payload carries no
112
+ * per-note attribution, so under OBSIDIAN_READ_PATHS the tags are collected
113
+ * per note with one JsonLogic search instead, kept to readable notes, and
114
+ * each one counts the readable notes carrying it or a tag nested under it.
115
+ */
109
116
  listTags(ctx: Context): Promise<ObsidianTag[]>;
110
117
  listCommands(ctx: Context): Promise<ObsidianCommand[]>;
111
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"obsidian-service.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/obsidian-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"obsidian-service.d.ts","sourceRoot":"","sources":["../../../src/services/obsidian/obsidian-service.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { configurationError, conflict, forbidden, JsonRpcErrorCode, McpError, no
8
8
  import { httpStatusToErrorCode, withRetry } from '@cyanheads/mcp-ts-core/utils';
9
9
  import { Agent, fetch as undiciFetch } from 'undici';
10
10
  import { getServerConfig } from '../../config/server-config.js';
11
- import { canonicalContent, flattenDocumentMap, flattenHeadingTree, hasIntegerKey, inNoteOrder, isIntegerKey, patchFormatFor, relativeHeadingLevels, v1PatchHeaders, v2Instruction, } from './patch-instruction.js';
11
+ import { canonicalContent, flattenDocumentMap, flattenHeadingTree, hasIntegerKey, inNoteOrder, isIntegerKey, patchFormatFor, relativeHeadingLevels, v1HeadingBody, v1PatchHeaders, v2Instruction, } from './patch-instruction.js';
12
12
  import { PathPolicy } from './path-policy.js';
13
13
  import { atxHeadingMarkers, blockKinds, isIsolatedBlockId, listHeadingPaths, sectionBody, sectionLevel, } from './section-extractor.js';
14
14
  /** Per-call timeout for the startup probe — covers the 4-tuple TCP handshake + a tiny GET. */
@@ -262,13 +262,15 @@ export class ObsidianService {
262
262
  const safe = await this.#gateAsWrite(ctx, target);
263
263
  const url = this.#targetToPath(safe);
264
264
  const format = await this.#wireFormat(ctx, safe, instruction);
265
- const resolvedTarget = await this.#resolveHeadingTarget(ctx, safe, instruction, format);
265
+ const { target: resolvedTarget, note } = await this.#resolveHeadingTarget(ctx, safe, instruction, format);
266
266
  const resolved = { ...instruction, target: resolvedTarget };
267
267
  if (format === '1') {
268
268
  await this.#request(ctx, url, {
269
269
  method: 'PATCH',
270
270
  headers: v1PatchHeaders(resolved),
271
- body: content,
271
+ body: note === undefined || resolved.contentType === 'json'
272
+ ? content
273
+ : v1HeadingBody(resolved, content, note),
272
274
  });
273
275
  return resolvedTarget;
274
276
  }
@@ -318,7 +320,7 @@ export class ObsidianService {
318
320
  return null;
319
321
  if (!res.ok)
320
322
  await this.#throwForStatus(res, url, ctx, { requestedUrl: requestUrl });
321
- this.#assertNotDirectory(res, url, ctx);
323
+ this.#assertNotDirectory(res, url);
322
324
  return parseContentLength(res, url);
323
325
  }
324
326
  /**
@@ -332,7 +334,6 @@ export class ObsidianService {
332
334
  throw notFound(`Note not found: ${display}`, {
333
335
  path: display,
334
336
  reason: 'note_missing',
335
- ...ctx.recoveryFor('note_missing'),
336
337
  });
337
338
  }
338
339
  return size;
@@ -347,18 +348,33 @@ export class ObsidianService {
347
348
  url = `/vault/${encodeVaultPath(normalized)}/`;
348
349
  }
349
350
  /**
350
- * Gate the directory itself when it's non-empty — root listings always
351
- * pass so users can navigate into their scope. Children aren't filtered
352
- * here; the per-file read gate on `getNoteContent` etc. catches access to
353
- * out-of-scope individual notes.
351
+ * The root and folders on the way to the read scope list so a nested scope
352
+ * can be browsed to; any other out-of-scope folder is refused before the
353
+ * upstream call. Entries are filtered here rather than in callers, so every
354
+ * consumer of a listing — the `obsidian_list_notes` walk and the
355
+ * case-fallback probe alike — sees only readable entries and ancestors.
354
356
  */
355
357
  if (normalized) {
356
- this.#policy.assertReadable(normalized);
358
+ this.#policy.assertListable(normalized);
357
359
  }
358
360
  const res = await this.#request(ctx, url, { method: 'GET', listRead: true });
359
- return (await res.json());
361
+ const listing = (await res.json());
362
+ if (!this.#policy.restrictsReads)
363
+ return listing;
364
+ return { files: this.#policy.filterListing(normalized, listing.files) };
360
365
  }
366
+ /**
367
+ * Vault tags with usage counts, hierarchical parents included. Unscoped, the
368
+ * plugin's `/tags/` with its occurrence counts. That payload carries no
369
+ * per-note attribution, so under OBSIDIAN_READ_PATHS the tags are collected
370
+ * per note with one JsonLogic search instead, kept to readable notes, and
371
+ * each one counts the readable notes carrying it or a tag nested under it.
372
+ */
361
373
  async listTags(ctx) {
374
+ if (this.#policy.restrictsReads) {
375
+ const notes = await this.searchJsonLogic(ctx, { var: 'tags' });
376
+ return countTagsPerNote(this.#policy.filterReadable(notes));
377
+ }
362
378
  const res = await this.#request(ctx, '/tags/', { method: 'GET' });
363
379
  const body = (await res.json());
364
380
  return body.tags ?? [];
@@ -398,7 +414,6 @@ export class ObsidianService {
398
414
  throw validationError(`The Local REST API ran out of string capacity assembling match contexts for this search (contextLength ${contextLength}). It builds a context window for every matching note before responding, so the ceiling tracks contextLength multiplied by the number of matches rather than either alone.`, {
399
415
  reason: 'context_length_too_large',
400
416
  contextLength,
401
- ...ctx.recoveryFor('context_length_too_large'),
402
417
  }, { cause: err });
403
418
  }
404
419
  const raw = (await res.json());
@@ -475,7 +490,6 @@ export class ObsidianService {
475
490
  throw serviceUnavailable(`Omnisearch unreachable at ${this.#omnisearchUrl}. The plugin may have stopped (Obsidian quit, plugin disabled, or mobile session).`, {
476
491
  reason: 'omnisearch_unreachable',
477
492
  url: this.#omnisearchUrl,
478
- ...ctx.recoveryFor('omnisearch_unreachable'),
479
493
  }, { cause: err });
480
494
  }
481
495
  if (!res.ok) {
@@ -483,7 +497,6 @@ export class ObsidianService {
483
497
  reason: 'omnisearch_unreachable',
484
498
  url: this.#omnisearchUrl,
485
499
  status: res.status,
486
- ...ctx.recoveryFor('omnisearch_unreachable'),
487
500
  });
488
501
  }
489
502
  const body = (await res.json());
@@ -739,18 +752,19 @@ export class ObsidianService {
739
752
  * on the last repeat while a section read returns the first. A write to a
740
753
  * repeated path is rejected as ambiguous. The count comes from the plugin's
741
754
  * own parse (`#headingIndex`) wherever the plugin serves one, so the map the
742
- * PATCH resolves against is also the one that counts its repeats.
755
+ * PATCH resolves against is also the one that counts its repeats. On 1.x the
756
+ * note read for that count comes back as `note`, for `v1HeadingBody`.
743
757
  */
744
758
  async #resolveHeadingTarget(ctx, target, instruction, format) {
745
759
  if (instruction.targetType !== 'heading')
746
- return instruction.target;
747
- const { headings, occurrences } = await this.#headingIndex(ctx, target, format);
760
+ return { target: instruction.target, note: undefined };
761
+ const { headings, occurrences, note } = await this.#headingIndex(ctx, target, format);
748
762
  const resolved = instruction.target.includes(HEADING_DELIMITER)
749
763
  ? instruction.target
750
764
  : this.#expandHeadingLeaf(target, instruction.target, headings);
751
765
  const repeats = occurrences.filter((p) => p === resolved);
752
766
  if (repeats.length <= 1)
753
- return resolved;
767
+ return { target: resolved, note };
754
768
  const display = displayPath(this.#targetToPath(target));
755
769
  const named = resolved === instruction.target ? `'${resolved}'` : `'${instruction.target}' (${resolved})`;
756
770
  throw conflict(`Heading ${named} occurs ${repeats.length} times in ${display}, so a section write cannot tell which one to edit.`, {
@@ -774,7 +788,7 @@ export class ObsidianService {
774
788
  * top-level heading tokens. Plugin v4.x serves only the 1.x array, which
775
789
  * cannot count repeats, so there the note body is fetched and scanned
776
790
  * locally (`listHeadingPaths`), which finds headings with the same `marked`
777
- * lexing the map does.
791
+ * lexing the map does. That note text comes back as `note`.
778
792
  *
779
793
  * Both lists run in note order, as `#rawGetDocumentMap` explains, so the
780
794
  * `candidates` an ambiguity error names, and the first one its hint offers,
@@ -786,7 +800,7 @@ export class ObsidianService {
786
800
  const map = await this.#fetchDocumentMap(ctx, url, format);
787
801
  const { content } = await this.#rawGetNoteJson(ctx, target);
788
802
  const occurrences = listHeadingPaths(content);
789
- return { headings: inNoteOrder(map.headings, occurrences), occurrences };
803
+ return { headings: inNoteOrder(map.headings, occurrences), note: content, occurrences };
790
804
  }
791
805
  const map = await this.#fetchDocumentMap(ctx, url, format);
792
806
  const flat = flattenHeadingTree(map.headings);
@@ -914,10 +928,10 @@ export class ObsidianService {
914
928
  });
915
929
  }
916
930
  if (init.noteRead) {
917
- this.#assertNotDirectory(res, pathAndQuery, ctx);
931
+ this.#assertNotDirectory(res, pathAndQuery);
918
932
  }
919
933
  if (init.listRead) {
920
- this.#assertNotFile(res, pathAndQuery, ctx);
934
+ this.#assertNotFile(res, pathAndQuery);
921
935
  }
922
936
  return res;
923
937
  };
@@ -955,7 +969,7 @@ export class ObsidianService {
955
969
  * where a path can name a directory; `/active/` and `/periodic/` always
956
970
  * resolve to one file.
957
971
  */
958
- #assertNotDirectory(res, path, ctx) {
972
+ #assertNotDirectory(res, path) {
959
973
  if (!path.startsWith('/vault/'))
960
974
  return;
961
975
  if (res.headers.get('content-disposition') !== null)
@@ -967,7 +981,6 @@ export class ObsidianService {
967
981
  throw validationError(`${display} is a directory, not a note.`, {
968
982
  path: display,
969
983
  reason: 'path_is_directory',
970
- ...ctx.recoveryFor('path_is_directory'),
971
984
  });
972
985
  }
973
986
  /**
@@ -979,7 +992,7 @@ export class ObsidianService {
979
992
  * `SyntaxError` on markdown and — worse — succeeds on a vault `.json` file,
980
993
  * handing the walk a listing with no `files` array.
981
994
  */
982
- #assertNotFile(res, path, ctx) {
995
+ #assertNotFile(res, path) {
983
996
  if (!path.startsWith('/vault/'))
984
997
  return;
985
998
  if (res.headers.get('content-disposition') === null)
@@ -988,7 +1001,6 @@ export class ObsidianService {
988
1001
  throw validationError(`${display} is a file, not a directory.`, {
989
1002
  path: display,
990
1003
  reason: 'path_is_file',
991
- ...ctx.recoveryFor('path_is_file'),
992
1004
  });
993
1005
  }
994
1006
  /**
@@ -1041,7 +1053,8 @@ export class ObsidianService {
1041
1053
  * (`data.path` on a note route, `data.commandId` on a command, neither on a
1042
1054
  * route that carries no caller input — see `callerIdentifier`), the HTTP
1043
1055
  * status (`data.status`, default branch), and the calling tool's own
1044
- * contract `reason` + `recovery`. The upstream's response body never
1056
+ * contract `reason` (whose `recovery` the framework fills at the handler
1057
+ * boundary). The upstream's response body never
1045
1058
  * crosses, in any branch, under any key.
1046
1059
  *
1047
1060
  * That is stricter than redaction, deliberately. The Local REST API
@@ -1085,7 +1098,7 @@ export class ObsidianService {
1085
1098
  const cause = new UpstreamErrorText(upstreamMsg, opts.requestedUrl);
1086
1099
  const data = (reason) => ({
1087
1100
  ...callerIdentifier(path),
1088
- ...(reason !== undefined ? { reason, ...ctx.recoveryFor(reason) } : {}),
1101
+ ...(reason !== undefined ? { reason } : {}),
1089
1102
  });
1090
1103
  const contentPreexists = () => validationError(`The supplied content already appears at the target in ${display}. Pass \`applyIfContentPreexists: true\` to force-apply, or change the content.`, data('content_preexists'), { cause });
1091
1104
  const sectionTargetMissing = () => validationError(`Section target not found in ${display}. Use \`obsidian_get_note\` with \`format: "document-map"\` to list available headings, blocks, and frontmatter fields, then retry with one of those locators.`, data('section_target_missing'), { cause });
@@ -1235,6 +1248,30 @@ export class ObsidianService {
1235
1248
  }
1236
1249
  }
1237
1250
  }
1251
+ /**
1252
+ * Count, per tag, the notes carrying it or a tag nested under it. Each hit's
1253
+ * `result` is the plugin's per-note tag list for `{"var": "tags"}` — strings,
1254
+ * deduplicated, `#` stripped, not parent-expanded, untagged notes omitted — so
1255
+ * one note carrying `work/a` and `work/b` adds 1 to `work`. Tags come back in
1256
+ * order of first appearance.
1257
+ */
1258
+ function countTagsPerNote(notes) {
1259
+ const counts = new Map();
1260
+ for (const { result } of notes) {
1261
+ const noteTags = new Set();
1262
+ for (const tag of result) {
1263
+ const parts = tag.split('/');
1264
+ for (let depth = 1; depth <= parts.length; depth++) {
1265
+ noteTags.add(parts.slice(0, depth).join('/'));
1266
+ }
1267
+ }
1268
+ for (const name of noteTags) {
1269
+ if (name)
1270
+ counts.set(name, (counts.get(name) ?? 0) + 1);
1271
+ }
1272
+ }
1273
+ return Array.from(counts, ([name, count]) => ({ name, count }));
1274
+ }
1238
1275
  /**
1239
1276
  * Encode a vault-relative path for the URL. Splits on `/` and `\` (so
1240
1277
  * Windows-style separators are honored), URL-encodes each segment, and
@@ -1253,10 +1290,10 @@ export function encodeVaultPath(path) {
1253
1290
  for (const seg of segments) {
1254
1291
  if (seg === '.' || seg === '..') {
1255
1292
  /**
1256
- * Recovery is written inline rather than resolved from the calling
1257
- * tool's contract: this is a free function with no `ctx` to hand to
1258
- * `ctx.recoveryFor`, and the guidance is the same static sentence every
1259
- * contract declares for `path_traversal`.
1293
+ * Recovery is written inline rather than left to the framework's
1294
+ * contract fill: this free function is also reached from definitions
1295
+ * that declare no `path_traversal` entry, and the guidance is the same
1296
+ * static sentence every contract declares for it.
1260
1297
  */
1261
1298
  throw validationError(`Path traversal not allowed: '${path}'`, {
1262
1299
  path,
@@ -1556,7 +1593,7 @@ function patchRejection(upstreamMsg, errorCode) {
1556
1593
  if (!refused)
1557
1594
  return;
1558
1595
  if (/\bis not a table\b/i.test(upstreamMsg)) {
1559
- return 'the target block is not a table, so it cannot take table rows';
1596
+ return 'the target is not a table, so it cannot take table rows';
1560
1597
  }
1561
1598
  /**
1562
1599
  * The 1.x engine reports a row whose cell count does not match the table
@@ -1564,7 +1601,7 @@ function patchRejection(upstreamMsg, errorCode) {
1564
1601
  * table" — so the sentence names both.
1565
1602
  */
1566
1603
  if (/content-type-invalid-for-target/i.test(upstreamMsg)) {
1567
- return "the target block is not a table, or a row's cell count does not match the table's column count";
1604
+ return "the target is not a table, or a row's cell count does not match the table's column count";
1568
1605
  }
1569
1606
  if (/table-content-incorrect-column-count|\bcell\(s\);.*\bcolumn\(s\)/i.test(upstreamMsg)) {
1570
1607
  return "a row's cell count does not match the table's column count";
@@ -1614,7 +1651,7 @@ function callerIdentifier(urlPath) {
1614
1651
  * The recovery hint is written inline, as `encodeVaultPath` writes
1615
1652
  * `path_traversal`'s: both failures are the operator's to fix and reachable
1616
1653
  * from every tool and resource — including the two resources that declare no
1617
- * `errors[]` for `ctx.recoveryFor` to resolve against.
1654
+ * `errors[]` for the framework's contract fill to resolve against.
1618
1655
  */
1619
1656
  function classifyFetchRejection(err) {
1620
1657
  const codes = [err, err instanceof Error ? err.cause : undefined].flatMap((e) => {