soulsync/core/search
Broque Thomas d39679951b Wire Amazon Music into enhanced search and global search source picker
- Add 'amazon' to VALID_SOURCES (and transitively VALID_STREAM_SOURCES)
  in core/search/orchestrator.py so the backend accepts it as a
  requested source without returning 400
- Add resolve_client('amazon') case — mirrors musicbrainz pattern,
  gets the cached AmazonClient from the metadata registry
- Add 'amazon' to _alternate_sources() so it appears as a tab when
  another source is primary (always available, no credentials)
- Add SERVICE_CONFIG_REGISTRY entry 'amazon': {'always': True} so
  /api/settings/config-status reports it as configured
- Add SOURCE_LABELS['amazon'] and SOURCE_ORDER entry in
  shared-helpers.js so both enhanced search and global search show
  the Amazon Music tab
- Add 'amazon' to _ALWAYS_CONFIGURED_SOURCES so the picker never
  dims the tab (no credentials required)
- Add .enh-tab-amazon.active CSS (Amazon orange #FF9900)
- 3530 tests pass
2026-05-16 14:18:18 -07:00
..
__init__.py Lift /api/search and /api/enhanced-search/* into core/search/ 2026-04-27 15:07:11 -07:00
basic.py Cin-6: Rename soulseek_client global → download_orchestrator 2026-05-04 23:23:32 -07:00
cache.py Search cache: preserve falsy provider returns to match original behavior 2026-04-27 15:19:52 -07:00
library_check.py Extract wishlist logic into dedicated package 2026-04-28 21:17:24 +03:00
orchestrator.py Wire Amazon Music into enhanced search and global search source picker 2026-05-16 14:18:18 -07:00
sources.py Search lift: pre-merge parity polish for cin's review 2026-04-27 15:32:48 -07:00
stream.py Cin-6: Rename soulseek_client global → download_orchestrator 2026-05-04 23:23:32 -07:00