Paul Hernandez
1646572f69
fix: Rename write_note entity_type to note_type for clarity ( #419 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Signed-off-by: Paul Hernandez <60959+phernandez@users.noreply.github.com >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Paul Hernandez <phernandez@users.noreply.github.com >
2025-11-10 19:02:50 -06:00
Paul Hernandez
021af74545
fix: Strip duplicate headers in edit_note replace_section ( #396 )
...
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Drew Cain <groksrc@users.noreply.github.com >
2025-11-02 14:20:11 -06:00
phernandez
367dc6962a
style: apply ruff formatting to test files
...
Auto-format test files for permalink collision tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 15:00:19 -05:00
phernandez
2a050edee4
fix: prevent permalink collision via strict link resolution
...
Fixes critical data loss bug where creating similar entity names
(e.g., "Node C") would overwrite existing entities (e.g., "Node A.md")
due to fuzzy search incorrectly matching similar file paths.
Changes:
- Add strict=True to resolve_link() calls in entity_service.py
- Disables fuzzy search fallback during entity creation/update
- Prevents false positive matches on similar paths like
"edge-cases/Node A.md" and "edge-cases/Node C.md"
Testing:
- Added comprehensive integration test reproducing the bug scenario
- Added MCP-level permalink collision tests
- All 55 entity service tests pass
- Manual testing confirms fix prevents file overwrite
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2025-10-04 14:45:37 -05:00
manuelbliemel
9aa40246a8
Addressed issues when running basic-memory on the Windows platform ( #252 )
...
Signed-off-by: Manuel Bliemel <manuel.bliemel@gmail.com >
2025-08-24 19:12:40 -07: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
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
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
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
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
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
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
28513c8b8d
lint code
2025-02-12 22:39:22 -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
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
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
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
18bd850019
fix updates and save content. remove entity.summary
2025-01-26 00:00:37 -06:00
phernandez
23922f2915
set permalink in frontmatter, re-index file_path on move during sync
2025-01-22 17:59:46 -06:00
phernandez
18d4584652
make write_note overwrite existing notes
2025-01-21 19:27:43 -06:00
phernandez
7322bb5350
refactor tools, remove BasicMemoryServer, update mcp sdk
2025-01-18 18:48:22 -06:00
phernandez
c5d21276de
change entity.path_id to entity.permalink
2025-01-12 16:47:21 -06:00
phernandez
90a301d4ce
rename entity.name to entity.title
2025-01-12 13:48:16 -06:00
phernandez
761fb708c6
rename entity.name to entity.title
2025-01-12 12:50:03 -06:00
phernandez
79380e33ec
fix services
2025-01-10 20:22:05 -06:00
phernandez
1c6836d83f
fix tests
2025-01-07 20:29:59 -06:00
phernandez
6686c331a5
refactor entity.entity_type to be freeform, add summary and content_type
2025-01-07 19:00:08 -06:00
phernandez
ea359d2484
update entity/repostitory/service
2025-01-06 18:57:04 -06:00
phernandez
f4c5327889
fix enity file_path in db, writeing reations only to entity source file
2025-01-03 22:26:30 -06:00
phernandez
0bbcf636f6
change /knowledge endpoints to use ids
2024-12-24 18:15:59 -06:00
phernandez
c2d16acb59
fix entity service tests
2024-12-22 12:00:02 -06:00
phernandez
054cea976c
remove unused fileio code
2024-12-22 09:22:02 -06:00
phernandez
e245ed3708
update main with changes
2024-12-19 19:10:29 -06:00
phernandez
a838c0308c
test memory_service.delete operations
2024-12-15 13:49:40 -06:00