feat: implement User Story 2 - Search and Discovery (P2)
Implemented 12 new MCP tools for search and knowledge graph navigation: Search Tools (2): - obsidian_search: Content search with folder filtering and case sensitivity - obsidian_search_with_context: Search with surrounding context lines Link Tools (5): - obsidian_get_backlinks: Show incoming links to a note - obsidian_get_outgoing_links: Show outgoing links from a note - obsidian_list_unresolved_links: Find broken wikilinks - obsidian_list_deadends: Find notes with no outgoing links - obsidian_list_orphans: Find notes with no incoming links Tag & Alias Tools (3): - obsidian_list_tags: List all tags with optional counts - obsidian_get_tag_info: Detailed tag usage information - obsidian_list_aliases: List note aliases Property Discovery Tools (2): - obsidian_list_properties: List all vault properties - obsidian_get_property_count: Get property usage counts New files created: - src/tools/search.ts (2 tools) - src/tools/links.ts (5 tools) - src/tools/tags-aliases.ts (3 tools) - src/tools/properties.ts (2 tools) Updated: - src/tools/index.ts: Register all new tool modules - src/validation/schemas.ts: Enhanced searchSchema with new parameters - manifest.json: Added 12 new tools to tools array (21 total) - tasks.md: Marked T046-T063 complete (18 tasks) Build: ✅ 0 errors Validation: ✅ Manifest passes Total tools: 21 (9 US1 + 12 US2) Tasks complete: 70/167 (41.9%) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -107,24 +107,24 @@
|
||||
|
||||
### Implementation for User Story 2
|
||||
|
||||
- [ ] T046 [P] [US2] Create obsidian_search tool in src/tools/search.ts
|
||||
- [ ] T047 [P] [US2] Define Zod schema for search parameters (query, folder, limit, caseSensitive)
|
||||
- [ ] T048 [P] [US2] Create obsidian_search_with_context tool in src/tools/search.ts
|
||||
- [ ] T049 [P] [US2] Create obsidian_get_backlinks tool in src/tools/links.ts
|
||||
- [ ] T050 [P] [US2] Define Zod schema for backlinks parameters (file/path, counts)
|
||||
- [ ] T051 [P] [US2] Create obsidian_get_outgoing_links tool in src/tools/links.ts
|
||||
- [ ] T052 [P] [US2] Create obsidian_list_unresolved_links tool in src/tools/links.ts
|
||||
- [ ] T053 [P] [US2] Create obsidian_list_tags tool in src/tools/tags-aliases.ts
|
||||
- [ ] T054 [P] [US2] Define Zod schema for list_tags parameters (file, path, counts, sortBy)
|
||||
- [ ] T055 [P] [US2] Create obsidian_get_tag_info tool in src/tools/tags-aliases.ts
|
||||
- [ ] T056 [P] [US2] Create obsidian_list_aliases tool in src/tools/tags-aliases.ts
|
||||
- [ ] T057 [P] [US2] Create obsidian_list_properties tool in src/tools/properties.ts (vault-wide properties)
|
||||
- [ ] T058 [P] [US2] Create obsidian_get_property_count tool in src/tools/properties.ts
|
||||
- [ ] T059 [P] [US2] Create obsidian_list_deadends tool in src/tools/links.ts (notes with no outgoing links)
|
||||
- [ ] T060 [P] [US2] Create obsidian_list_orphans tool in src/tools/file-operations.ts (notes with no incoming links)
|
||||
- [ ] T061 [US2] Register all search and discovery tools in src/server.ts tools/list handler
|
||||
- [ ] T062 [US2] Implement search result formatting (parse JSON/TSV output from CLI)
|
||||
- [ ] T063 [US2] Add pagination support for large search results
|
||||
- [X] T046 [P] [US2] Create obsidian_search tool in src/tools/search.ts
|
||||
- [X] T047 [P] [US2] Define Zod schema for search parameters (query, folder, limit, caseSensitive)
|
||||
- [X] T048 [P] [US2] Create obsidian_search_with_context tool in src/tools/search.ts
|
||||
- [X] T049 [P] [US2] Create obsidian_get_backlinks tool in src/tools/links.ts
|
||||
- [X] T050 [P] [US2] Define Zod schema for backlinks parameters (file/path, counts)
|
||||
- [X] T051 [P] [US2] Create obsidian_get_outgoing_links tool in src/tools/links.ts
|
||||
- [X] T052 [P] [US2] Create obsidian_list_unresolved_links tool in src/tools/links.ts
|
||||
- [X] T053 [P] [US2] Create obsidian_list_tags tool in src/tools/tags-aliases.ts
|
||||
- [X] T054 [P] [US2] Define Zod schema for list_tags parameters (file, path, counts, sortBy)
|
||||
- [X] T055 [P] [US2] Create obsidian_get_tag_info tool in src/tools/tags-aliases.ts
|
||||
- [X] T056 [P] [US2] Create obsidian_list_aliases tool in src/tools/tags-aliases.ts
|
||||
- [X] T057 [P] [US2] Create obsidian_list_properties tool in src/tools/properties.ts (vault-wide properties)
|
||||
- [X] T058 [P] [US2] Create obsidian_get_property_count tool in src/tools/properties.ts
|
||||
- [X] T059 [P] [US2] Create obsidian_list_deadends tool in src/tools/links.ts (notes with no outgoing links)
|
||||
- [X] T060 [P] [US2] Create obsidian_list_orphans tool in src/tools/file-operations.ts (notes with no incoming links)
|
||||
- [X] T061 [US2] Register all search and discovery tools in src/server.ts tools/list handler
|
||||
- [X] T062 [US2] Implement search result formatting (parse JSON/TSV output from CLI)
|
||||
- [X] T063 [US2] Add pagination support for large search results
|
||||
|
||||
**Checkpoint**: At this point, User Stories 1 AND 2 should both work independently
|
||||
|
||||
|
||||
Reference in New Issue
Block a user