Paul Hernandez
12b51522bc
fix: implement project-specific sync status checks for MCP tools ( #183 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-26 13:54:26 -05:00
phernandez
1bf348259b
fix formatting on files
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-25 22:32:05 -05:00
Paul Hernandez
f50650763d
fix: ensure permalinks are generated for entities with null permalinks during move operations ( #162 )
...
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-06-25 12:57:44 -05:00
Paul Hernandez
84d2aaf641
fix: eliminate redundant database migration initialization ( #146 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-18 17:32:20 -05:00
Drew Cain
c6215fd819
fix: UNIQUE constraint failed: entity.permalink issue #139 ( #140 )
...
Signed-off-by: Drew Cain <groksrc@users.noreply.github.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-18 15:03:11 -05:00
phernandez
2abf626c46
fix: resolve unused variable lint warnings in tests
...
- Remove unused variables in test mock functions
- Clean up test code per ruff linting rules
2025-06-09 15:15:05 -05:00
phernandez
7108a7baf1
fix: resolve sync race conditions and search errors
...
- Add IntegrityError handling in entity_service.create_entity_from_markdown for file_path/permalink constraint violations
- Add IntegrityError handling in sync_service.sync_regular_file for concurrent sync race conditions
- Fix FTS "unknown special query" error when searching for wildcard "*" patterns
- Add comprehensive test coverage for race condition edge cases and error handling
- Gracefully handle concurrent sync processes with fallback to update operations
Fixes sync errors from beta testing including:
- "UNIQUE constraint failed: entity.file_path"
- "UNIQUE constraint failed: entity.permalink"
- "unknown special query" FTS errors
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-08 15:20:27 -05:00
phernandez
35884ef3a7
fix: update MCP tool/prompt/resource calls to use .fn attribute
...
FastMCP library changes now require calling decorated functions via the .fn attribute:
- Tools: @mcp.tool() functions return FunctionTool, call with tool.fn()
- Prompts: @mcp.prompt() functions return FunctionPrompt, call with prompt.fn()
- Resources: @mcp.resource() functions return FunctionResource, call with resource.fn()
Updated core files:
- view_note.py: read_note() → read_note.fn()
- read_note.py: search_notes() → search_notes.fn() (2 locations)
- tool.py: 6 MCP tool calls updated to use .fn
- recent_activity.py: recent_activity() → recent_activity.fn()
- project.py: project_info() → project_info.fn() with type ignore
Updated 100+ test files systematically to use .fn attribute and fixed mock targets.
All 869 tests now pass. Fixes view_note tool error in Claude Desktop.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-08 11:52:23 -05:00
phernandez
040be05a81
fix: normalize project names in config during startup
...
- Fix case sensitivity bug where config had "Personal" but database expected "personal"
- Add project name normalization in synchronize_projects() to use generate_permalink()
- Update config file with normalized names and log changes for user visibility
- Use proper permalink generation instead of hardcoded name.lower().replace()
- Add comprehensive tests for project name normalization scenarios
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-08 09:28:57 -05:00
phernandez
117fa44ecf
fix project info stats tests
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 15:51:11 -05:00
phernandez
2162ad57fe
all tests passing
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 11:13:40 -05:00
phernandez
602c55fe90
only allow edit_note, move_note using strict identifier match
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 23:37:29 -05:00
phernandez
91bfe2dc92
add sync status tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 22:24:10 -05:00
phernandez
d8c13bf1d3
fix project table unique constraint bug
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 14:23:15 -05:00
phernandez
ac08a8d024
fix: update FastMCP initialization for API changes
...
- Remove deprecated auth_server_provider parameter
- Use auth parameter correctly with OAuthProvider instead of AuthSettings
- Fixes type error after dependency updates
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-03 09:08:17 -05:00
Paul Hernandez
634486107b
feat: v0.13.0 pre ( #122 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-06-03 01:00:40 -05:00
bm-claudeai
020957cd76
feat: Multi-project support, OAuth authentication, and major improvements ( #119 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude <noreply@anthropic.com >
2025-05-25 10:07:34 -05:00
Paul Hernandez
78a3412bcf
fix: run migrations and sync when starting mcp ( #88 )
2025-04-07 17:45:26 -05:00
Paul Hernandez
617e60bda4
feat: permalink enhancements ( #82 )
...
- Avoiding "useless permalink values" for files without metadata
- Enable permalinks to be updated on move via config setting
2025-04-06 14:54:59 -05:00
github-actions[bot]
9d581cee13
fix: [BUG] Cursor has errors calling search tool ( #78 )
2025-04-05 19:12:23 -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
Paul Hernandez
90d5754180
feat: Implement boolean search ( #18 )
2025-03-05 20:57:12 -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
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
2c8ed1737d
chore: remove unused tests
2025-02-18 20:45:47 -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
355519a786
refactor cli commands
2025-02-13 15:42:50 -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
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
135bec181d
fix: fix permalink uniqueness violations on create/update/sync
2025-02-04 16:43:18 -06:00
phernandez
3484e26631
feat: add memory-json importer, tweak observation content
2025-02-04 10:59:28 -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
f9d201960d
small refactor to file_service update
2025-01-30 16:55:56 -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
9202b396a1
write semantic content if not present in content
2025-01-26 12:32:20 -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
23922f2915
set permalink in frontmatter, re-index file_path on move during sync
2025-01-22 17:59:46 -06:00