mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
@@ -185,7 +185,7 @@ async def delete_note(identifier: str, project: Optional[str] = None) -> bool |
|
||||
logger.warning(f"Delete operation completed but note was not deleted: {identifier}")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
except Exception as e: # pragma: no cover
|
||||
logger.error(f"Delete failed for '{identifier}': {e}")
|
||||
# Return formatted error message for better user experience
|
||||
return _format_delete_error_response(str(e), identifier)
|
||||
|
||||
@@ -56,7 +56,7 @@ async def read_note(
|
||||
from basic_memory.mcp.tools.utils import wait_for_migration_or_return_status
|
||||
|
||||
migration_status = await wait_for_migration_or_return_status(timeout=5.0)
|
||||
if migration_status: # pragma: no cover
|
||||
if migration_status: # pragma: no cover
|
||||
return f"# System Status\n\n{migration_status}\n\nPlease wait for migration to complete before reading notes."
|
||||
|
||||
active_project = get_active_project(project)
|
||||
|
||||
@@ -54,6 +54,23 @@ def _format_search_error_response(error_message: str, query: str, search_type: s
|
||||
Replace INSERT_CLEAN_QUERY_HERE with your simplified search terms.
|
||||
""").strip()
|
||||
|
||||
# Project not found errors (check before general "not found")
|
||||
if "project not found" in error_message.lower():
|
||||
return dedent(f"""
|
||||
# Search Failed - Project Not Found
|
||||
|
||||
The current project is not accessible or doesn't exist: {error_message}
|
||||
|
||||
## How to resolve:
|
||||
1. **Check available projects**: `list_projects()`
|
||||
2. **Switch to valid project**: `switch_project("valid-project-name")`
|
||||
3. **Verify project setup**: Ensure your project is properly configured
|
||||
|
||||
## Current session info:
|
||||
- Check current project: `get_current_project()`
|
||||
- See available projects: `list_projects()`
|
||||
""").strip()
|
||||
|
||||
# No results found
|
||||
if "no results" in error_message.lower() or "not found" in error_message.lower():
|
||||
simplified_query = (
|
||||
@@ -129,21 +146,6 @@ You don't have permission to search in the current project: {error_message}
|
||||
- Switch to accessible project: `switch_project("project-name")`
|
||||
- Check current project: `get_current_project()`"""
|
||||
|
||||
# Project not found errors
|
||||
if "project not found" in error_message.lower():
|
||||
return f"""# Search Failed - Project Not Found
|
||||
|
||||
The current project is not accessible or doesn't exist: {error_message}
|
||||
|
||||
## How to resolve:
|
||||
1. **Check available projects**: `list_projects()`
|
||||
2. **Switch to valid project**: `switch_project("valid-project-name")`
|
||||
3. **Verify project setup**: Ensure your project is properly configured
|
||||
|
||||
## Current session info:
|
||||
- Check current project: `get_current_project()`
|
||||
- See available projects: `list_projects()`"""
|
||||
|
||||
# Generic fallback
|
||||
return f"""# Search Failed
|
||||
|
||||
|
||||
@@ -550,6 +550,6 @@ async def wait_for_migration_or_return_status(timeout: float = 5.0) -> Optional[
|
||||
|
||||
# Still not ready after timeout
|
||||
return sync_status_tracker.get_summary()
|
||||
except Exception:
|
||||
except Exception: # pragma: no cover
|
||||
# If there's any error, assume ready
|
||||
return None
|
||||
|
||||
@@ -74,7 +74,7 @@ async def write_note(
|
||||
from basic_memory.mcp.tools.utils import wait_for_migration_or_return_status
|
||||
|
||||
migration_status = await wait_for_migration_or_return_status(timeout=5.0)
|
||||
if migration_status: # pragma: no cover
|
||||
if migration_status: # pragma: no cover
|
||||
return f"# System Status\n\n{migration_status}\n\nPlease wait for migration to complete before creating notes."
|
||||
|
||||
# Process tags using the helper function
|
||||
|
||||
Reference in New Issue
Block a user