BobAi e7e0f71a35 Implement comprehensive auto-update system
 Features:
- GitHub releases integration with version checking
- TUI update notifications with user-friendly interface
- CLI update commands (check-update, update)
- Discrete notifications that don't interrupt workflow
- Legacy user detection for older versions
- Safe update process with backup and rollback
- Progress bars and user confirmation
- Configurable update preferences

🔧 Technical:
- UpdateChecker class with GitHub API integration
- UpdateConfig for user preferences
- Graceful fallbacks when network unavailable
- Auto-restart after successful updates
- Works with both TUI and CLI interfaces

🎯 User Experience:
- TUI: Shows update banner on startup if available
- CLI: Discrete one-line notice for regular commands
- Commands: 'rag-mini check-update' and 'rag-mini update'
- Non-intrusive design respects user workflow

This provides seamless updates for the critical improvements
we've been implementing while giving users full control.
2025-08-15 15:10:59 +10:00

36 lines
979 B
Python

"""
FSS-Mini-RAG - Lightweight, portable semantic code search.
A hybrid RAG system with Ollama-first embeddings, ML fallback, and streaming indexing.
Designed for portability, efficiency, and simplicity across projects and computers.
"""
__version__ = "2.1.0"
from .ollama_embeddings import OllamaEmbedder as CodeEmbedder
from .chunker import CodeChunker
from .indexer import ProjectIndexer
from .search import CodeSearcher
from .watcher import FileWatcher
# Auto-update system (graceful import for legacy versions)
try:
from .updater import UpdateChecker, check_for_updates, get_updater
__all__ = [
"CodeEmbedder",
"CodeChunker",
"ProjectIndexer",
"CodeSearcher",
"FileWatcher",
"UpdateChecker",
"check_for_updates",
"get_updater",
]
except ImportError:
__all__ = [
"CodeEmbedder",
"CodeChunker",
"ProjectIndexer",
"CodeSearcher",
"FileWatcher",
]