mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-08 02:14:08 +08:00
- Added a new Storage Manager component to handle storage statistics, project cleanup, and configuration for CCW centralized storage. - Introduced functions to calculate directory sizes, get project storage stats, and clean specific or all storage. - Enhanced SQLiteStore with a public API for executing queries securely. - Updated tests to utilize the new execute_query method and validate storage management functionalities. - Improved performance by implementing connection pooling with idle timeout management in SQLiteStore. - Added new fields (token_count, symbol_type) to the symbols table and adjusted related insertions. - Enhanced error handling and logging for storage operations.
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
"""CodexLens exception hierarchy."""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
class CodexLensError(Exception):
|
|
"""Base class for all CodexLens errors."""
|
|
|
|
|
|
class ConfigError(CodexLensError):
|
|
"""Raised when configuration is invalid or cannot be loaded."""
|
|
|
|
|
|
class ParseError(CodexLensError):
|
|
"""Raised when parsing or indexing a file fails."""
|
|
|
|
|
|
class StorageError(CodexLensError):
|
|
"""Raised when reading/writing index storage fails.
|
|
|
|
Attributes:
|
|
message: Human-readable error description
|
|
db_path: Path to the database file (if applicable)
|
|
operation: The operation that failed (e.g., 'query', 'initialize', 'migrate')
|
|
details: Additional context for debugging
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
message: str,
|
|
db_path: str | None = None,
|
|
operation: str | None = None,
|
|
details: dict | None = None
|
|
) -> None:
|
|
super().__init__(message)
|
|
self.message = message
|
|
self.db_path = db_path
|
|
self.operation = operation
|
|
self.details = details or {}
|
|
|
|
def __str__(self) -> str:
|
|
parts = [self.message]
|
|
if self.db_path:
|
|
parts.append(f"[db: {self.db_path}]")
|
|
if self.operation:
|
|
parts.append(f"[op: {self.operation}]")
|
|
if self.details:
|
|
detail_str = ", ".join(f"{k}={v}" for k, v in self.details.items())
|
|
parts.append(f"[{detail_str}]")
|
|
return " ".join(parts)
|
|
|
|
|
|
class SearchError(CodexLensError):
|
|
"""Raised when a search operation fails."""
|
|
|