EU-Utility/core
LemonNexus 3311edf4e5 feat: Three-tier API Architecture (v2.2.0)
NEW: core/api/ directory with comprehensive three-tier API

PluginAPI (core/api/plugin_api.py):
- 12 core service integrations (Log, Window, OCR, Screenshot, Nexus, HTTP, Audio, Notifications, Clipboard, Event Bus, Data Store, Tasks)
- Full docstrings with examples for every method
- Thread-safe design with Qt signal marshaling
- Proper error handling with custom exceptions
- Service availability checking

WidgetAPI (core/api/widget_api.py):
- Widget creation and management
- WidgetConfig dataclass for configuration
- WidgetType enum (MINI, CONTROL, CHART, ALERT, CUSTOM)
- WidgetAnchor enum for positioning
- Event system (moved, resized, closing, closed, update)
- Layout helpers (grid, horizontal, vertical, cascade)
- Persistence (save/load widget states)
- Widget presets for reuse

ExternalAPI (core/api/external_api.py):
- REST API server with aiohttp
- API endpoint registration (decorator and programmatic)
- Incoming webhooks with HMAC verification
- Outgoing webhook POST support
- API key authentication
- IPC (inter-process communication)
- File watcher for config changes
- Server-Sent Events (SSE) support
- CORS configuration
- Webhook history tracking

core/api/__init__.py:
- Unified imports for all three APIs
- Version tracking (2.2.0)
- Clean namespace exports

docs/API_REFERENCE.md:
- Comprehensive 12,000+ word reference
- Quick start examples for each API
- Service-by-service documentation
- Error handling guide
- Integration examples (Discord, custom widget)

Integration:
- Updated core/main.py to import from new API structure
- All three APIs available via: from core.api import get_api, get_widget_api, get_external_api

Benefits:
- Clear separation of concerns (plugins vs widgets vs external)
- Well-documented APIs for developers
- Easy to extend with new services
- Type hints throughout
- Production-ready error handling
- Third-party integration support out of the box
2026-02-15 18:07:06 +00:00
..
api feat: Three-tier API Architecture (v2.2.0) 2026-02-15 18:07:06 +00:00
ui feat: Core framework components - Settings, Dashboard, Search, Updater, Backup 2026-02-15 02:09:20 +00:00
__init__.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
activity_bar.py feat: Activity Bar - macOS-style in-game overlay 2026-02-15 17:54:20 +00:00
audio.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
backup.py feat: Core framework components - Settings, Dashboard, Search, Updater, Backup 2026-02-15 02:09:20 +00:00
base_plugin.py fix: Move base_plugin.py to core module and update imports 2026-02-15 02:44:50 +00:00
clipboard.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
dashboard.py fix: Remove redundant Settings plugin and baked-in Spotify widget 2026-02-14 19:58:18 +00:00
data_store.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
data_store_secure.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
data_store_vulnerable.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
dependency_helper.py feat: Core framework components - Settings, Dashboard, Search, Updater, Backup 2026-02-15 02:09:20 +00:00
eu_styles.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
event_bus.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
floating_icon.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
hotkey_manager.py feat: Fix system tray and add configurable hotkeys 2026-02-14 19:17:42 +00:00
http_client.py fix: Fix HTTPClient, Dashboard, and Log Parser errors 2026-02-14 23:40:09 +00:00
icon_extractor.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
icon_helper.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
icon_manager.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
log_reader.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
log_reader_optimized.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
log_watcher_optimized.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
logger.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
main.py feat: Three-tier API Architecture (v2.2.0) 2026-02-15 18:07:06 +00:00
main_optimized.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
memory_leak_detector.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
nexus_api.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
notifications.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
ocr_backend_manager.py fix: Fix invalid escape sequence warning in ocr_backend_manager.py 2026-02-14 23:52:05 +00:00
ocr_service.py feat: Constrain skill scanner to only Entropia game window 2026-02-15 00:55:37 +00:00
ocr_service_optimized.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
ocr_service_optimized_v2.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
overlay_widgets.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
overlay_window.py fix: Refresh widgets tab dynamically when switching to it 2026-02-15 16:20:39 +00:00
performance_optimizations.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
plugin_api.py fix: Add missing dependencies and fix type mismatch 2026-02-14 18:16:56 +00:00
plugin_dependency_manager.py feat: Add plugin-to-plugin dependencies support 2026-02-14 23:49:13 +00:00
plugin_manager.py fix: Fix plugin import path for installed plugins 2026-02-15 16:06:45 +00:00
plugin_manager_optimized.py fix: Move base_plugin.py to core module and update imports 2026-02-15 02:44:50 +00:00
plugin_store.py fix: Built-in Plugin Store, dependency dialog, removed settings/plugin_store plugins 2026-02-15 02:56:14 +00:00
plugin_ui_components.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
screenshot.py fix: Fix initialization order bug in ScreenshotService 2026-02-14 18:50:45 +00:00
screenshot_secure.py fix: Fix initialization order bug in ScreenshotService 2026-02-14 18:50:45 +00:00
screenshot_vulnerable.py fix: Fix initialization order bug in ScreenshotService 2026-02-14 18:50:45 +00:00
security_utils.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
settings.py fix: Disable Spotify widget by default 2026-02-15 00:14:35 +00:00
settings_secure.py fix: Disable Spotify widget by default 2026-02-15 00:14:35 +00:00
startup_profiler.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
tasks.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
theme_manager.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
ui_optimizations.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
ui_render_optimized.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
updater.py feat: Core framework components - Settings, Dashboard, Search, Updater, Backup 2026-02-15 02:09:20 +00:00
widget_registry.py feat: Widget Registry - plugins register widgets dynamically 2026-02-15 16:16:07 +00:00
widget_system.py cleanup: Remove ClockWidget and SystemMonitorWidget from core 2026-02-15 16:18:02 +00:00
window_manager.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00