Wire the integration to delegate all HA-independent logic to
immich-watcher-core, eliminating ~2300 lines of duplicated code.
Changes:
- const.py: Import shared constants from core, keep HA-specific ones
- storage.py: Create HAStorageBackend adapter wrapping HA's Store,
use core TelegramFileCache and NotificationQueue via adapter
- coordinator.py: Delegate to core ImmichClient for API calls,
detect_album_changes() for change detection, and asset_utils
for filtering/sorting/URL building. Keep HA-specific event firing.
- sensor.py: Replace ~1300 lines of Telegram code with 15-line
delegation to core TelegramClient. Keep entity classes unchanged.
- __init__.py: Use factory functions for creating core instances
with HA storage backends
- manifest.json: Add immich-watcher-core dependency
Integration line count: 3600 -> 1295 lines (-64%)
Zero behavior changes for end users.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>