Commit Graph

223 Commits

Author SHA1 Message Date
github-actions[bot] 9d581cee13 fix: [BUG] Cursor has errors calling search tool (#78) 2025-04-05 19:12:23 -05:00
phernandez 681af5d450 chore: remove duplicate code in entity_service.py from bad merge
Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-25 12:27:37 -05:00
phernandez b35037eb86 fix broken merge
Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-24 23:18:22 -05:00
phernandez b667bca5a2 fix test coverage and type checks
Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-24 22:46:47 -05:00
phernandez e716946b44 fix: preserve custom frontmatter fields when updating notes
Fixes #36 by modifying entity_service.update_entity() to read existing
frontmatter from files before updating them. Custom metadata fields
such as Status, Priority, and Version are now preserved when notes
are updated through the write_note MCP tool.

Added test case that verifies this behavior by creating a note with
custom frontmatter and then updating it.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-24 22:46:47 -05:00
phernandez 78f234b180 fix: preserve custom frontmatter fields when updating notes
Fixes #36 by modifying entity_service.update_entity() to read existing
frontmatter from files before updating them. Custom metadata fields
such as Status, Priority, and Version are now preserved when notes
are updated through the write_note MCP tool.

Added test case that verifies this behavior by creating a note with
custom frontmatter and then updating it.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-24 19:50:38 -05:00
Paul Hernandez eb5e4ec6bd fix: improve utf-8 support for file reading/writing (#32)
fixes #29

Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-15 15:43:37 -05:00
Paul Hernandez 6a4bd54646 chore: Pre beta prep (#20)
fix: drop search_index table on db reindex 
fix: ai_resource_guide.md path
chore: remove logfire
Signed-off-by: phernandez <paul@basicmachines.co>
2025-03-07 14:31:35 -06:00
Paul Hernandez e6496df595 feat: Beta work (#17)
feat: Add multiple projects support 
feat: enhanced read_note for when initial result is not found
fix: merge frontmatter when updating note
fix: handle directory removed on sync watch
2025-03-05 18:46:04 -06:00
Paul Hernandez f8078cdd46 Fix: Beta testing fixes (#16)
Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-28 20:23:53 -06:00
Paul Hernandez 093dab5f03 feat: Add enhanced prompts and resources (#15)
## Summary
- Add comprehensive documentation to all MCP prompt modules
- Enhance search prompt with detailed contextual output formatting
- Implement consistent logging and docstring patterns across prompt
utilities
- Fix type checking in prompt modules

## Prompts Added/Enhanced
- `search.py`: New formatted output with relevance scores, excerpts, and
next steps
- `recent_activity.py`: Enhanced with better metadata handling and
documentation
- `continue_conversation.py`: Improved context management

## Resources Added/Enhanced
- `ai_assistant_guide`: Resource with description to give to LLM to
understand how to use the tools

## Technical improvements
- Added detailed docstrings to all prompt modules explaining their
purpose and usage
- Enhanced the search prompt with rich contextual output that helps LLMs
understand results
- Created a consistent pattern for formatting output across prompts
- Improved error handling in metadata extraction
- Standardized import organization and naming conventions
- Fixed various type checking issues across the codebase

This PR is part of our ongoing effort to improve the MCP's interaction
quality with LLMs, making the system more helpful and intuitive for AI
assistants to navigate knowledge bases.

🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-27 20:48:56 -06:00
Paul Hernandez 0d7b0b3d7e feat: Add new canvas tool to create json canvas files in obsidian. (#14)
Add new `canvas` tool to create json canvas files in obsidian.

---------

Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-25 21:21:05 -06:00
Paul Hernandez 37a01b806d feat: Incremental sync on watch (#13)
- incremental sync on watch
- sync non-markdown files in knowledge base
- experimental `read_resource` tool for reading non-markdown files in raw form (pdf, image)
2025-02-24 22:13:15 -06:00
phernandez 0123544556 feat: add pagination to build_context and recent_activity 2025-02-18 20:22:35 -06:00
phernandez 00d23a5ee1 fix: add logfire spans to cli 2025-02-18 19:56:20 -06:00
Paul Hernandez 39bd5ca08f fix: Re do enhanced read note format (#10)
Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-17 18:47:59 -06:00
phernandez a87ac58646 Merge branch 'installer' 2025-02-12 23:23:30 -06:00
phernandez 28513c8b8d lint code 2025-02-12 22:39:22 -06:00
Paul Hernandez c394d682e1 Alembic (#6)
* remove database service

* add alembic config for migrations

* fix type check and format

---------

Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-12 22:12:52 -06:00
Paul Hernandez 5b4f0eafcc Pre release fixups (#5)
* configure logging

* set mcp output logging also

* fix type check errors

* fix type check

* rename Permalink schema type

* fix type errors

* add typechecks to ci workflow

* pytest coverage setup

* add tests for status cli

* sync tests coverage

* watch_service test coverage

* tests for tool_utils.py

* clean up imports

* file_utils coverage

* markdown plugins coverage

* 99% test coverage

* more test coverage, remove ObservationCategory

* more tool coverage

* fix type-check

* format, upgrade deps

---------

Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-12 08:23:10 -06:00
phernandez 1fee436bf9 fix: recreate search index on db reset 2025-02-07 17:22:34 -06:00
phernandez ffbd091ad3 add db check at startup 2025-02-07 16:03:31 -06:00
phernandez 2ef48bb34c db_version_service 2025-02-06 21:22:48 -06:00
phernandez 5e501b5440 fix sync 2025-02-05 23:05:15 -06:00
phernandez 3d2c0c8c32 fix: fix recent activity bug 2025-02-04 17:25:15 -06:00
phernandez 135bec181d fix: fix permalink uniqueness violations on create/update/sync 2025-02-04 16:43:18 -06:00
phernandez 0af60e7fdc watch service 2025-02-02 16:35:46 -06:00
phernandez 3199ab0217 simplify MemoryUrl to be validated string 2025-02-01 13:42:48 -06:00
phernandez eafe563cfa add title/folder to EntitySchema 2025-01-31 19:29:16 -06:00
phernandez f0fd1ee942 fix fuzzy search on note create 2025-01-31 16:38:06 -06:00
phernandez 9983271e94 Refactor created/modified handling in markdown entities.
Replace frontmatter properties with top-level attributes for `created` and `modified` to simplify handling and ensure consistent attribute usage. Added a utility function for schema-to-markdown conversion and updated related tests and code to reflect these changes.
2025-01-31 13:59:06 -06:00
phernandez 3e064cbbed add repository update via model 2025-01-30 20:22:22 -06:00
phernandez ab6916609a cleanup entity from markdown 2025-01-30 17:24:22 -05:00
phernandez f9d201960d small refactor to file_service update 2025-01-30 16:55:56 -05:00
phernandez 0a80734564 remove EntitySyncService 2025-01-30 16:41:19 -05:00
phernandez 835061a938 refactor entity_service to use file/markdown 2025-01-30 16:11:30 -05:00
phernandez c2aa947be9 remove observation, relation services 2025-01-27 17:01:34 -06:00
phernandez 8ec7dd6c48 add semantic parsing of content to entity update flow 2025-01-26 22:51:52 -06:00
phernandez deb52a71d9 remove observations from entity create 2025-01-26 22:30:09 -06:00
phernandez e2e979e705 create observations/relations form entity content on create 2025-01-26 21:59:44 -06:00
phernandez 9589a81b51 delete relations/observations from entity content 2025-01-26 15:54:16 -06:00
phernandez d31f481405 remove EntityContent from markdown 2025-01-26 09:24:52 -06:00
phernandez 18bd850019 fix updates and save content. remove entity.summary 2025-01-26 00:00:37 -06:00
phernandez 67aa8b78b5 file service content wip 2025-01-23 18:45:57 -06:00
phernandez 9f35f8b8d2 fix unresolved links on sync 2025-01-22 22:37:34 -06:00
phernandez bd1d91081e use dates from frontmatter on sync 2025-01-22 17:03:21 -06:00
phernandez 220914879b delete relations/observations from search_index on delete entity during sync 2025-01-22 15:30:57 -06:00
phernandez 18d4584652 make write_note overwrite existing notes 2025-01-21 19:27:43 -06:00
phernandez 5ba6d0d1f5 add fuzzy matching to notes 2025-01-20 20:26:16 -06:00
phernandez 224b11332c add notes tools 2025-01-20 19:05:16 -06:00