phernandez
e4b32d7bc9
feat: add automated release management system
...
- Add version management in __init__.py
- Add justfile targets for release and beta automation
- Create Claude command documentation for /release and /beta
- Implement comprehensive quality checks and validation
- Support automated version updates and git tagging
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-11 17:06:23 -05:00
Paul Hernandez
3ee30e1f36
fix: project cli commands and case sensitivity when switching projects ( #130 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-11 16:09:53 -05:00
phernandez
fb2fd62ed9
fix: resolve type error and prepare for v0.13.0b6 release
...
- Add type ignore comment for MCP prompt function call
- Function works correctly at runtime despite false positive type error
- All quality checks now passing
2025-06-09 15:38:59 -05:00
phernandez
126d1655e6
fix: simplify versioning for release workflow
...
- Use static API version 'v0' instead of dynamic package version
- Remove version verification step in release workflow
- Dynamic versioning handled by uv-dynamic-versioning at build time
2025-06-09 15:25:20 -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
c141d7d1e6
chore: update version to 0.13.0b5 for release
2025-06-05 17:08:07 -05:00
phernandez
9a0e0bd82d
add view_note tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 16:30:09 -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
69d7610d47
test coverage 100%
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 13:07:20 -05:00
phernandez
f608cd13f1
add justfile instead of Makefile, add ignores to test coverage
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 12:26:31 -05:00
phernandez
2162ad57fe
all tests passing
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-05 11:13:40 -05:00
phernandez
dd6ca80716
fix link_resolver tests
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 23:57:01 -05:00
phernandez
ae3eeb0cc1
add tool prompting and doc updates for strict mode in edit/move, and sync_status tool
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 23:46:48 -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
a3cae1064d
add background migration task and status tool/prompt
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 16:52:12 -05:00
phernandez
c5c70cb0f4
improve validation for memory:// urls, add examples to build_context
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-04 00:16:33 -05:00
phernandez
f64d5b2152
improve error messages for tools
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 23:12:59 -05:00
phernandez
69a625acd1
fix search escape issues, and empty forward reference resolving for entities
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-06-03 18:09:41 -05:00
phernandez
53c29a37ca
fix: resolve FTS5 search syntax errors with special characters
...
Enhances search term preparation to handle special characters gracefully while preserving functionality:
- Improves FTS5 query preparation with targeted special character handling
- Preserves boolean operators (AND, OR, NOT) without modification
- Quotes problematic characters that cause syntax errors
- Maintains wildcard patterns for legitimate use cases
- Adds comprehensive error handling with graceful fallback
Includes extensive test coverage:
- 10 new test cases for various search scenarios
- Programming terms (C++, function(), email@domain.com ) now searchable
- Malformed syntax handled without crashes
- Boolean and wildcard functionality preserved
Fixes search crashes when users enter queries containing special characters.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-03 16:45:13 -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
phernandez
5b85d33a99
fix: remove unused setuptools import causing runtime error
...
Fixes ModuleNotFoundError when basic-memory is installed in environments
without setuptools (common with uv tool installs)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-06-03 08:52:30 -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
semantic-release
9437a5f83b
chore(release): 0.12.3 [skip ci]
2025-04-17 16:04:31 +00:00
phernandez
3c1cc346df
fix: modify recent_activity args to be strings instead of enums
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-04-17 10:56:46 -05:00
phernandez
73ea91fe0d
fix: add extra logic for permalink generation with mixed Latin unicode and Chinese characters
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-04-17 10:00:40 -05:00
andyxinweiminicloud
03d4e97b90
Fix: preserve Chinese characters in permalinks
2025-04-17 09:03:35 -05:00
Amadeusz Wieczorek
54dfa08aba
Update name of function search_notes in error output ( #92 )
...
Signed-off-by: Amadeusz Wieczorek <git@amadeusw.com >
2025-04-14 11:06:15 -05:00
semantic-release
9433065a57
chore(release): 0.12.2 [skip ci]
2025-04-08 16:27:42 +00:00
Paul Hernandez
2934176331
fix: utf8 for all file reads/write/open instead of default platform encoding ( #91 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-04-08 10:55:01 -05:00
semantic-release
ac89eb47cb
chore(release): 0.12.1 [skip ci]
2025-04-07 22:47:23 +00:00
Paul Hernandez
78a3412bcf
fix: run migrations and sync when starting mcp ( #88 )
2025-04-07 17:45:26 -05:00
semantic-release
7ce7a29f35
chore(release): 0.12.0 [skip ci]
2025-04-06 23:44:17 +00:00
Paul Hernandez
3f4d9e4d87
fix: write_note preserves frontmatter fields in content ( #84 )
2025-04-06 18:39:51 -05:00
Paul Hernandez
00c8633cfc
feat: add watch to mcp process ( #83 )
2025-04-06 18:33:10 -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]
6c19c9edf5
fix: [BUG] # character accumulation in markdown frontmatter tags prop ( #79 )
2025-04-05 23:07:53 -05:00
github-actions[bot]
9bff1f732e
fix: [BUG] write_note Tool Fails to Update Existing Files in Some Situations. ( #80 )
2025-04-05 22:31:40 -05:00
Paul Hernandez
248214cb11
fix: set default mcp log level to ERROR ( #81 )
2025-04-05 22:27:29 -05:00
github-actions[bot]
7930ddb291
fix: [BUG] Some notes never exit "modified" status ( #77 )
2025-04-05 22:03:38 -05:00
github-actions[bot]
9d581cee13
fix: [BUG] Cursor has errors calling search tool ( #78 )
2025-04-05 19:12:23 -05:00
semantic-release
3d45227b72
chore(release): 0.11.0 [skip ci]
2025-03-29 00:19:46 +00:00
Paul Hernandez
b27827671d
feat: rename search tool to search_notes ( #66 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-28 19:11:35 -05:00
Paul Hernandez
0743ade5fc
fix: just delete db for reset db instead of using migrations. ( #65 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-28 19:11:11 -05:00
Paul Hernandez
f1c95709cb
fix: make logs for each process - mcp, sync, cli ( #64 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2025-03-28 19:10:43 -05:00