refactor: update search tool to match Obsidian CLI spec
Removed obsidian_search_with_context tool (not in CLI spec) Updated obsidian_search to use exact CLI parameter names: - query (required) - Search query text - path (optional) - Limit search to folder path - limit (optional) - Max number of files to return - total (optional) - Return match count instead of file list - case (optional) - Case sensitive search - format (optional) - Output format: text or json (default: text) Changed parameter names to match CLI: - folder → path - caseSensitive → case - Added: total flag for match counts - Removed: contextLines (not in CLI) Files updated: - src/tools/search.ts: Simplified to single search tool - src/validation/schemas.ts: Updated searchSchema parameters - manifest.json: Removed search_with_context, updated description - tasks.md: Marked T048 as REMOVED Total tools: 20 (was 21) - User Story 1: 9 tools - User Story 2: 11 tools (was 12) Build: ✅ 0 errors Validation: ✅ Manifest passes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -144,11 +144,11 @@ export const moveRenameSchema = z.intersection(
|
||||
// Search parameters
|
||||
export const searchSchema = z.object({
|
||||
query: z.string().min(1, 'Search query cannot be empty'),
|
||||
folder: optionalStringSchema,
|
||||
path: optionalStringSchema, // Folder path to limit search
|
||||
limit: z.number().int().positive().max(1000).optional(),
|
||||
caseSensitive: booleanFlagSchema.optional(),
|
||||
contextLines: z.number().int().positive().max(10).optional(),
|
||||
...formatSchema.shape,
|
||||
total: booleanFlagSchema.optional(), // Return match count instead of files
|
||||
case: booleanFlagSchema.optional(), // Case sensitive search
|
||||
format: z.enum(['text', 'json']).optional().default('text'),
|
||||
});
|
||||
|
||||
// Tag search parameters
|
||||
|
||||
Reference in New Issue
Block a user