obsidian-mcp-server 3.1.2 → 3.1.4
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/CLAUDE.md +3 -0
- package/README.md +3 -8
- package/changelog/3.1.x/3.1.3.md +23 -0
- package/changelog/3.1.x/3.1.4.md +25 -0
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/resources/definitions/index.d.ts +11 -1
- package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/obsidian-status.resource.js +1 -1
- package/dist/mcp-server/resources/definitions/obsidian-status.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/obsidian-vault-note.resource.d.ts +12 -1
- package/dist/mcp-server/resources/definitions/obsidian-vault-note.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/obsidian-vault-note.resource.js +17 -2
- package/dist/mcp-server/resources/definitions/obsidian-vault-note.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared/schemas.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared/schemas.js +4 -2
- package/dist/mcp-server/tools/definitions/_shared/schemas.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +168 -52
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.d.ts +26 -1
- package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.js +32 -2
- package/dist/mcp-server/tools/definitions/obsidian-append-to-note.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js +3 -3
- package/dist/mcp-server/tools/definitions/obsidian-delete-note.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-execute-command.tool.js +2 -2
- package/dist/mcp-server/tools/definitions/obsidian-execute-command.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts +11 -3
- package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js +60 -6
- package/dist/mcp-server/tools/definitions/obsidian-get-note.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js +5 -5
- package/dist/mcp-server/tools/definitions/obsidian-list-notes.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-list-tags.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.js +5 -5
- package/dist/mcp-server/tools/definitions/obsidian-manage-frontmatter.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-manage-tags.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/obsidian-manage-tags.tool.js +4 -4
- package/dist/mcp-server/tools/definitions/obsidian-manage-tags.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-open-in-ui.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-patch-note.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/obsidian-patch-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-patch-note.tool.js +5 -5
- package/dist/mcp-server/tools/definitions/obsidian-patch-note.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.d.ts +4 -4
- package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.js +5 -5
- package/dist/mcp-server/tools/definitions/obsidian-replace-in-note.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js +7 -12
- package/dist/mcp-server/tools/definitions/obsidian-search-notes.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-write-note.tool.d.ts +26 -1
- package/dist/mcp-server/tools/definitions/obsidian-write-note.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/obsidian-write-note.tool.js +32 -2
- package/dist/mcp-server/tools/definitions/obsidian-write-note.tool.js.map +1 -1
- package/package.json +12 -2
- package/server.json +3 -3
|
@@ -39,6 +39,7 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
39
39
|
}>;
|
|
40
40
|
target: import("zod").ZodString;
|
|
41
41
|
}, import("zod/v4/core").$strip>>;
|
|
42
|
+
includeLinks: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
42
43
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
43
44
|
result: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
44
45
|
format: import("zod").ZodLiteral<"content">;
|
|
@@ -55,6 +56,13 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
55
56
|
mtime: import("zod").ZodNumber;
|
|
56
57
|
size: import("zod").ZodNumber;
|
|
57
58
|
}, import("zod/v4/core").$strip>;
|
|
59
|
+
outgoingLinks: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
60
|
+
target: import("zod").ZodString;
|
|
61
|
+
type: import("zod").ZodEnum<{
|
|
62
|
+
markdown: "markdown";
|
|
63
|
+
wikilink: "wikilink";
|
|
64
|
+
}>;
|
|
65
|
+
}, import("zod/v4/core").$strip>>>;
|
|
58
66
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
59
67
|
format: import("zod").ZodLiteral<"document-map">;
|
|
60
68
|
path: import("zod").ZodString;
|
|
@@ -84,7 +92,7 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
84
92
|
readonly reason: "path_forbidden";
|
|
85
93
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
86
94
|
readonly when: "The target path is outside OBSIDIAN_READ_PATHS (and OBSIDIAN_WRITE_PATHS, since write paths imply read access).";
|
|
87
|
-
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope
|
|
95
|
+
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope.";
|
|
88
96
|
}, {
|
|
89
97
|
readonly reason: "note_missing";
|
|
90
98
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -94,7 +102,7 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
94
102
|
readonly reason: "no_active_file";
|
|
95
103
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
96
104
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
97
|
-
readonly recovery: "
|
|
105
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
98
106
|
}, {
|
|
99
107
|
readonly reason: "periodic_not_found";
|
|
100
108
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -104,12 +112,12 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
104
112
|
readonly reason: "periodic_disabled";
|
|
105
113
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
106
114
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
107
|
-
readonly recovery: "
|
|
115
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
108
116
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
109
117
|
path: import("zod").ZodOptional<import("zod").ZodString>;
|
|
110
118
|
extension: import("zod").ZodOptional<import("zod").ZodString>;
|
|
111
119
|
nameRegex: import("zod").ZodOptional<import("zod").ZodString>;
|
|
112
|
-
depth: import("zod").
|
|
120
|
+
depth: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
113
121
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
114
122
|
path: import("zod").ZodString;
|
|
115
123
|
entries: import("zod").ZodArray<import("zod").ZodObject<{
|
|
@@ -139,7 +147,7 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
139
147
|
readonly reason: "regex_invalid";
|
|
140
148
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
141
149
|
readonly when: "The supplied `nameRegex` is not a valid ECMAScript regex.";
|
|
142
|
-
readonly recovery: "
|
|
150
|
+
readonly recovery: "Use a valid ECMAScript regex (e.g. `^Project.*\\.md$`), or omit nameRegex to disable filtering.";
|
|
143
151
|
}, {
|
|
144
152
|
readonly reason: "path_forbidden";
|
|
145
153
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
@@ -167,7 +175,7 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
167
175
|
readonly reason: "path_forbidden";
|
|
168
176
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
169
177
|
readonly when: "The target path is outside OBSIDIAN_READ_PATHS (and OBSIDIAN_WRITE_PATHS, since write paths imply read access).";
|
|
170
|
-
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope
|
|
178
|
+
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope.";
|
|
171
179
|
}, {
|
|
172
180
|
readonly reason: "note_missing";
|
|
173
181
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -181,9 +189,9 @@ export declare const readToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
181
189
|
}>;
|
|
182
190
|
query: import("zod").ZodOptional<import("zod").ZodString>;
|
|
183
191
|
logic: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
184
|
-
contextLength: import("zod").
|
|
192
|
+
contextLength: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
185
193
|
pathPrefix: import("zod").ZodOptional<import("zod").ZodString>;
|
|
186
|
-
maxMatchesPerHit: import("zod").
|
|
194
|
+
maxMatchesPerHit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
187
195
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
188
196
|
result: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
189
197
|
mode: import("zod").ZodLiteral<"text">;
|
|
@@ -280,7 +288,32 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
280
288
|
readonly reason: "path_forbidden";
|
|
281
289
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
282
290
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
283
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
291
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
292
|
+
}, {
|
|
293
|
+
readonly reason: "note_missing";
|
|
294
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
295
|
+
readonly when: "Section append targets a path that does not resolve to an existing note (PATCH requires the file to exist).";
|
|
296
|
+
readonly recovery: "Verify the path with obsidian_list_notes, or omit `section` to fall back to whole-file append (which creates the note if missing).";
|
|
297
|
+
}, {
|
|
298
|
+
readonly reason: "no_active_file";
|
|
299
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
300
|
+
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
301
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
302
|
+
}, {
|
|
303
|
+
readonly reason: "periodic_not_found";
|
|
304
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
305
|
+
readonly when: "Target was `periodic` but no matching periodic note exists.";
|
|
306
|
+
readonly recovery: "Create the periodic note first or pass an explicit path target.";
|
|
307
|
+
}, {
|
|
308
|
+
readonly reason: "periodic_disabled";
|
|
309
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
310
|
+
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
311
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
312
|
+
}, {
|
|
313
|
+
readonly reason: "section_target_missing";
|
|
314
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
315
|
+
readonly when: "`section` was provided but the named heading/block/frontmatter field does not exist in the note.";
|
|
316
|
+
readonly recovery: "Call obsidian_get_note with format document-map to discover available targets, or pass createTargetIfMissing: true to bring it into existence.";
|
|
284
317
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
285
318
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
286
319
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -305,7 +338,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
305
338
|
readonly reason: "path_forbidden";
|
|
306
339
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
307
340
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
308
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
341
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
309
342
|
}, {
|
|
310
343
|
readonly reason: "cancelled";
|
|
311
344
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InvalidRequest;
|
|
@@ -320,7 +353,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
320
353
|
readonly reason: "no_active_file";
|
|
321
354
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
322
355
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
323
|
-
readonly recovery: "
|
|
356
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
324
357
|
}, {
|
|
325
358
|
readonly reason: "periodic_not_found";
|
|
326
359
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -330,7 +363,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
330
363
|
readonly reason: "periodic_disabled";
|
|
331
364
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
332
365
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
333
|
-
readonly recovery: "
|
|
366
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
334
367
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
335
368
|
operation: import("zod").ZodEnum<{
|
|
336
369
|
set: "set";
|
|
@@ -377,7 +410,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
377
410
|
readonly reason: "path_forbidden";
|
|
378
411
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
379
412
|
readonly when: "`get` requires the path to be readable; `set`/`delete` require it to be inside OBSIDIAN_WRITE_PATHS, with OBSIDIAN_READ_ONLY=false.";
|
|
380
|
-
readonly recovery: "Use a path inside the configured scope
|
|
413
|
+
readonly recovery: "Use a path inside the configured scope. The error data echoes the active scope.";
|
|
381
414
|
}, {
|
|
382
415
|
readonly reason: "value_required";
|
|
383
416
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -392,7 +425,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
392
425
|
readonly reason: "no_active_file";
|
|
393
426
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
394
427
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
395
|
-
readonly recovery: "
|
|
428
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
396
429
|
}, {
|
|
397
430
|
readonly reason: "periodic_not_found";
|
|
398
431
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -402,7 +435,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
402
435
|
readonly reason: "periodic_disabled";
|
|
403
436
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
404
437
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
405
|
-
readonly recovery: "
|
|
438
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
406
439
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
407
440
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
408
441
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -457,7 +490,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
457
490
|
readonly reason: "path_forbidden";
|
|
458
491
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
459
492
|
readonly when: "`list` requires the path to be readable; `add`/`remove` require it to be inside OBSIDIAN_WRITE_PATHS, with OBSIDIAN_READ_ONLY=false.";
|
|
460
|
-
readonly recovery: "Use a path inside the configured scope
|
|
493
|
+
readonly recovery: "Use a path inside the configured scope. The error data echoes the active scope.";
|
|
461
494
|
}, {
|
|
462
495
|
readonly reason: "tags_required";
|
|
463
496
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -472,7 +505,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
472
505
|
readonly reason: "no_active_file";
|
|
473
506
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
474
507
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
475
|
-
readonly recovery: "
|
|
508
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
476
509
|
}, {
|
|
477
510
|
readonly reason: "periodic_not_found";
|
|
478
511
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -482,7 +515,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
482
515
|
readonly reason: "periodic_disabled";
|
|
483
516
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
484
517
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
485
|
-
readonly recovery: "
|
|
518
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
486
519
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
487
520
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
488
521
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -542,7 +575,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
542
575
|
readonly reason: "path_forbidden";
|
|
543
576
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
544
577
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
545
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
578
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
546
579
|
}, {
|
|
547
580
|
readonly reason: "note_missing";
|
|
548
581
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -552,7 +585,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
552
585
|
readonly reason: "no_active_file";
|
|
553
586
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
554
587
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
555
|
-
readonly recovery: "
|
|
588
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
556
589
|
}, {
|
|
557
590
|
readonly reason: "periodic_not_found";
|
|
558
591
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -562,7 +595,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
562
595
|
readonly reason: "periodic_disabled";
|
|
563
596
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
564
597
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
565
|
-
readonly recovery: "
|
|
598
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
566
599
|
}, {
|
|
567
600
|
readonly reason: "section_target_missing";
|
|
568
601
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -605,12 +638,12 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
605
638
|
readonly reason: "path_forbidden";
|
|
606
639
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
607
640
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes. (The pre-read also requires the path to be readable.)";
|
|
608
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
641
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
609
642
|
}, {
|
|
610
643
|
readonly reason: "regex_invalid";
|
|
611
644
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
612
645
|
readonly when: "A `useRegex: true` replacement supplied a `search` pattern that is not a valid ECMAScript regex.";
|
|
613
|
-
readonly recovery: "
|
|
646
|
+
readonly recovery: "Use a valid ECMAScript regex, or set useRegex to false to match `search` as a literal string.";
|
|
614
647
|
}, {
|
|
615
648
|
readonly reason: "note_missing";
|
|
616
649
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -620,7 +653,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
620
653
|
readonly reason: "no_active_file";
|
|
621
654
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
622
655
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
623
|
-
readonly recovery: "
|
|
656
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
624
657
|
}, {
|
|
625
658
|
readonly reason: "periodic_not_found";
|
|
626
659
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -630,7 +663,7 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
630
663
|
readonly reason: "periodic_disabled";
|
|
631
664
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
632
665
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
633
|
-
readonly recovery: "
|
|
666
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
634
667
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
635
668
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
636
669
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -675,7 +708,32 @@ export declare const writeToolDefinitions: (import("@cyanheads/mcp-ts-core").Too
|
|
|
675
708
|
readonly reason: "path_forbidden";
|
|
676
709
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
677
710
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
678
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
711
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
712
|
+
}, {
|
|
713
|
+
readonly reason: "note_missing";
|
|
714
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
715
|
+
readonly when: "Section replace targets a path that does not resolve to an existing note (PATCH requires the file to exist).";
|
|
716
|
+
readonly recovery: "Verify the path with obsidian_list_notes, or omit `section` to fall back to whole-file write (which creates the note when it is absent).";
|
|
717
|
+
}, {
|
|
718
|
+
readonly reason: "no_active_file";
|
|
719
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
720
|
+
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
721
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
722
|
+
}, {
|
|
723
|
+
readonly reason: "periodic_not_found";
|
|
724
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
725
|
+
readonly when: "Target was `periodic` but no matching periodic note exists.";
|
|
726
|
+
readonly recovery: "Create the periodic note first or pass an explicit path target.";
|
|
727
|
+
}, {
|
|
728
|
+
readonly reason: "periodic_disabled";
|
|
729
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
730
|
+
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
731
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
732
|
+
}, {
|
|
733
|
+
readonly reason: "section_target_missing";
|
|
734
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
735
|
+
readonly when: "`section` was provided but the named heading/block/frontmatter field does not exist in the note.";
|
|
736
|
+
readonly recovery: "Call obsidian_get_note with format document-map to discover available targets.";
|
|
679
737
|
}]>)[];
|
|
680
738
|
/** Combined base set — preserves the previous registration order. */
|
|
681
739
|
export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
@@ -716,7 +774,32 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
716
774
|
readonly reason: "path_forbidden";
|
|
717
775
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
718
776
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
719
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
777
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
778
|
+
}, {
|
|
779
|
+
readonly reason: "note_missing";
|
|
780
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
781
|
+
readonly when: "Section append targets a path that does not resolve to an existing note (PATCH requires the file to exist).";
|
|
782
|
+
readonly recovery: "Verify the path with obsidian_list_notes, or omit `section` to fall back to whole-file append (which creates the note if missing).";
|
|
783
|
+
}, {
|
|
784
|
+
readonly reason: "no_active_file";
|
|
785
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
786
|
+
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
787
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
788
|
+
}, {
|
|
789
|
+
readonly reason: "periodic_not_found";
|
|
790
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
791
|
+
readonly when: "Target was `periodic` but no matching periodic note exists.";
|
|
792
|
+
readonly recovery: "Create the periodic note first or pass an explicit path target.";
|
|
793
|
+
}, {
|
|
794
|
+
readonly reason: "periodic_disabled";
|
|
795
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
796
|
+
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
797
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
798
|
+
}, {
|
|
799
|
+
readonly reason: "section_target_missing";
|
|
800
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
801
|
+
readonly when: "`section` was provided but the named heading/block/frontmatter field does not exist in the note.";
|
|
802
|
+
readonly recovery: "Call obsidian_get_note with format document-map to discover available targets, or pass createTargetIfMissing: true to bring it into existence.";
|
|
720
803
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
721
804
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
722
805
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -741,7 +824,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
741
824
|
readonly reason: "path_forbidden";
|
|
742
825
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
743
826
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
744
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
827
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
745
828
|
}, {
|
|
746
829
|
readonly reason: "cancelled";
|
|
747
830
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InvalidRequest;
|
|
@@ -756,7 +839,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
756
839
|
readonly reason: "no_active_file";
|
|
757
840
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
758
841
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
759
|
-
readonly recovery: "
|
|
842
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
760
843
|
}, {
|
|
761
844
|
readonly reason: "periodic_not_found";
|
|
762
845
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -766,7 +849,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
766
849
|
readonly reason: "periodic_disabled";
|
|
767
850
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
768
851
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
769
|
-
readonly recovery: "
|
|
852
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
770
853
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
771
854
|
format: import("zod").ZodEnum<{
|
|
772
855
|
content: "content";
|
|
@@ -798,6 +881,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
798
881
|
}>;
|
|
799
882
|
target: import("zod").ZodString;
|
|
800
883
|
}, import("zod/v4/core").$strip>>;
|
|
884
|
+
includeLinks: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
801
885
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
802
886
|
result: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
803
887
|
format: import("zod").ZodLiteral<"content">;
|
|
@@ -814,6 +898,13 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
814
898
|
mtime: import("zod").ZodNumber;
|
|
815
899
|
size: import("zod").ZodNumber;
|
|
816
900
|
}, import("zod/v4/core").$strip>;
|
|
901
|
+
outgoingLinks: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
902
|
+
target: import("zod").ZodString;
|
|
903
|
+
type: import("zod").ZodEnum<{
|
|
904
|
+
markdown: "markdown";
|
|
905
|
+
wikilink: "wikilink";
|
|
906
|
+
}>;
|
|
907
|
+
}, import("zod/v4/core").$strip>>>;
|
|
817
908
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
818
909
|
format: import("zod").ZodLiteral<"document-map">;
|
|
819
910
|
path: import("zod").ZodString;
|
|
@@ -843,7 +934,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
843
934
|
readonly reason: "path_forbidden";
|
|
844
935
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
845
936
|
readonly when: "The target path is outside OBSIDIAN_READ_PATHS (and OBSIDIAN_WRITE_PATHS, since write paths imply read access).";
|
|
846
|
-
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope
|
|
937
|
+
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope.";
|
|
847
938
|
}, {
|
|
848
939
|
readonly reason: "note_missing";
|
|
849
940
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -853,7 +944,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
853
944
|
readonly reason: "no_active_file";
|
|
854
945
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
855
946
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
856
|
-
readonly recovery: "
|
|
947
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
857
948
|
}, {
|
|
858
949
|
readonly reason: "periodic_not_found";
|
|
859
950
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -863,12 +954,12 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
863
954
|
readonly reason: "periodic_disabled";
|
|
864
955
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
865
956
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
866
|
-
readonly recovery: "
|
|
957
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
867
958
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
868
959
|
path: import("zod").ZodOptional<import("zod").ZodString>;
|
|
869
960
|
extension: import("zod").ZodOptional<import("zod").ZodString>;
|
|
870
961
|
nameRegex: import("zod").ZodOptional<import("zod").ZodString>;
|
|
871
|
-
depth: import("zod").
|
|
962
|
+
depth: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
872
963
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
873
964
|
path: import("zod").ZodString;
|
|
874
965
|
entries: import("zod").ZodArray<import("zod").ZodObject<{
|
|
@@ -898,7 +989,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
898
989
|
readonly reason: "regex_invalid";
|
|
899
990
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
900
991
|
readonly when: "The supplied `nameRegex` is not a valid ECMAScript regex.";
|
|
901
|
-
readonly recovery: "
|
|
992
|
+
readonly recovery: "Use a valid ECMAScript regex (e.g. `^Project.*\\.md$`), or omit nameRegex to disable filtering.";
|
|
902
993
|
}, {
|
|
903
994
|
readonly reason: "path_forbidden";
|
|
904
995
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
@@ -960,7 +1051,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
960
1051
|
readonly reason: "path_forbidden";
|
|
961
1052
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
962
1053
|
readonly when: "`get` requires the path to be readable; `set`/`delete` require it to be inside OBSIDIAN_WRITE_PATHS, with OBSIDIAN_READ_ONLY=false.";
|
|
963
|
-
readonly recovery: "Use a path inside the configured scope
|
|
1054
|
+
readonly recovery: "Use a path inside the configured scope. The error data echoes the active scope.";
|
|
964
1055
|
}, {
|
|
965
1056
|
readonly reason: "value_required";
|
|
966
1057
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -975,7 +1066,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
975
1066
|
readonly reason: "no_active_file";
|
|
976
1067
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
977
1068
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
978
|
-
readonly recovery: "
|
|
1069
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
979
1070
|
}, {
|
|
980
1071
|
readonly reason: "periodic_not_found";
|
|
981
1072
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -985,7 +1076,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
985
1076
|
readonly reason: "periodic_disabled";
|
|
986
1077
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
987
1078
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
988
|
-
readonly recovery: "
|
|
1079
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
989
1080
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
990
1081
|
target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
991
1082
|
type: import("zod").ZodLiteral<"path">;
|
|
@@ -1040,7 +1131,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1040
1131
|
readonly reason: "path_forbidden";
|
|
1041
1132
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1042
1133
|
readonly when: "`list` requires the path to be readable; `add`/`remove` require it to be inside OBSIDIAN_WRITE_PATHS, with OBSIDIAN_READ_ONLY=false.";
|
|
1043
|
-
readonly recovery: "Use a path inside the configured scope
|
|
1134
|
+
readonly recovery: "Use a path inside the configured scope. The error data echoes the active scope.";
|
|
1044
1135
|
}, {
|
|
1045
1136
|
readonly reason: "tags_required";
|
|
1046
1137
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -1055,7 +1146,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1055
1146
|
readonly reason: "no_active_file";
|
|
1056
1147
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1057
1148
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
1058
|
-
readonly recovery: "
|
|
1149
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
1059
1150
|
}, {
|
|
1060
1151
|
readonly reason: "periodic_not_found";
|
|
1061
1152
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1065,7 +1156,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1065
1156
|
readonly reason: "periodic_disabled";
|
|
1066
1157
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1067
1158
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
1068
|
-
readonly recovery: "
|
|
1159
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
1069
1160
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1070
1161
|
path: import("zod").ZodString;
|
|
1071
1162
|
failIfMissing: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
@@ -1078,7 +1169,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1078
1169
|
readonly reason: "path_forbidden";
|
|
1079
1170
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1080
1171
|
readonly when: "The target path is outside OBSIDIAN_READ_PATHS (and OBSIDIAN_WRITE_PATHS, since write paths imply read access).";
|
|
1081
|
-
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope
|
|
1172
|
+
readonly recovery: "Use a path inside the configured read scope. The error data echoes the active scope.";
|
|
1082
1173
|
}, {
|
|
1083
1174
|
readonly reason: "note_missing";
|
|
1084
1175
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1143,7 +1234,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1143
1234
|
readonly reason: "path_forbidden";
|
|
1144
1235
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1145
1236
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
1146
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
1237
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
1147
1238
|
}, {
|
|
1148
1239
|
readonly reason: "note_missing";
|
|
1149
1240
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1153,7 +1244,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1153
1244
|
readonly reason: "no_active_file";
|
|
1154
1245
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1155
1246
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
1156
|
-
readonly recovery: "
|
|
1247
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
1157
1248
|
}, {
|
|
1158
1249
|
readonly reason: "periodic_not_found";
|
|
1159
1250
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1163,7 +1254,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1163
1254
|
readonly reason: "periodic_disabled";
|
|
1164
1255
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1165
1256
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
1166
|
-
readonly recovery: "
|
|
1257
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
1167
1258
|
}, {
|
|
1168
1259
|
readonly reason: "section_target_missing";
|
|
1169
1260
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
@@ -1206,12 +1297,12 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1206
1297
|
readonly reason: "path_forbidden";
|
|
1207
1298
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1208
1299
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes. (The pre-read also requires the path to be readable.)";
|
|
1209
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
1300
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
1210
1301
|
}, {
|
|
1211
1302
|
readonly reason: "regex_invalid";
|
|
1212
1303
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1213
1304
|
readonly when: "A `useRegex: true` replacement supplied a `search` pattern that is not a valid ECMAScript regex.";
|
|
1214
|
-
readonly recovery: "
|
|
1305
|
+
readonly recovery: "Use a valid ECMAScript regex, or set useRegex to false to match `search` as a literal string.";
|
|
1215
1306
|
}, {
|
|
1216
1307
|
readonly reason: "note_missing";
|
|
1217
1308
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1221,7 +1312,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1221
1312
|
readonly reason: "no_active_file";
|
|
1222
1313
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1223
1314
|
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
1224
|
-
readonly recovery: "
|
|
1315
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
1225
1316
|
}, {
|
|
1226
1317
|
readonly reason: "periodic_not_found";
|
|
1227
1318
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
@@ -1231,7 +1322,7 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1231
1322
|
readonly reason: "periodic_disabled";
|
|
1232
1323
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1233
1324
|
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
1234
|
-
readonly recovery: "
|
|
1325
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
1235
1326
|
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
1236
1327
|
mode: import("zod").ZodEnum<{
|
|
1237
1328
|
text: "text";
|
|
@@ -1240,9 +1331,9 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1240
1331
|
}>;
|
|
1241
1332
|
query: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1242
1333
|
logic: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
1243
|
-
contextLength: import("zod").
|
|
1334
|
+
contextLength: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
1244
1335
|
pathPrefix: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1245
|
-
maxMatchesPerHit: import("zod").
|
|
1336
|
+
maxMatchesPerHit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
1246
1337
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1247
1338
|
result: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
1248
1339
|
mode: import("zod").ZodLiteral<"text">;
|
|
@@ -1343,7 +1434,32 @@ export declare const baseToolDefinitions: (import("@cyanheads/mcp-ts-core").Tool
|
|
|
1343
1434
|
readonly reason: "path_forbidden";
|
|
1344
1435
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Forbidden;
|
|
1345
1436
|
readonly when: "The target path is outside OBSIDIAN_WRITE_PATHS, or OBSIDIAN_READ_ONLY=true denies all writes.";
|
|
1346
|
-
readonly recovery: "Use a path inside the configured write scope
|
|
1437
|
+
readonly recovery: "Use a path inside the configured write scope. The error data echoes the active scope.";
|
|
1438
|
+
}, {
|
|
1439
|
+
readonly reason: "note_missing";
|
|
1440
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1441
|
+
readonly when: "Section replace targets a path that does not resolve to an existing note (PATCH requires the file to exist).";
|
|
1442
|
+
readonly recovery: "Verify the path with obsidian_list_notes, or omit `section` to fall back to whole-file write (which creates the note when it is absent).";
|
|
1443
|
+
}, {
|
|
1444
|
+
readonly reason: "no_active_file";
|
|
1445
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1446
|
+
readonly when: "Target was `active` but no file is currently open in Obsidian.";
|
|
1447
|
+
readonly recovery: "Call obsidian_open_in_ui to focus a file, or pass an explicit path target instead.";
|
|
1448
|
+
}, {
|
|
1449
|
+
readonly reason: "periodic_not_found";
|
|
1450
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
1451
|
+
readonly when: "Target was `periodic` but no matching periodic note exists.";
|
|
1452
|
+
readonly recovery: "Create the periodic note first or pass an explicit path target.";
|
|
1453
|
+
}, {
|
|
1454
|
+
readonly reason: "periodic_disabled";
|
|
1455
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1456
|
+
readonly when: "Target was `periodic` but the requested period is not enabled in Obsidian's Periodic Notes plugin settings.";
|
|
1457
|
+
readonly recovery: "Pass an explicit path target — the requested period is disabled in the operator's Periodic Notes plugin.";
|
|
1458
|
+
}, {
|
|
1459
|
+
readonly reason: "section_target_missing";
|
|
1460
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
1461
|
+
readonly when: "`section` was provided but the named heading/block/frontmatter field does not exist in the note.";
|
|
1462
|
+
readonly recovery: "Call obsidian_get_note with format document-map to discover available targets.";
|
|
1347
1463
|
}]>)[];
|
|
1348
1464
|
/** Command-palette tools — opt-in via `OBSIDIAN_ENABLE_COMMANDS=true`; suppressed by `OBSIDIAN_READ_ONLY=true`. */
|
|
1349
1465
|
export declare const commandToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,gFAAgF;AAChF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAM/B,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQhC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoD,CAAC;AAErF,mHAAmH;AACnH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;+CAAiD,CAAC"}
|