soulsync/core/search
Broque Thomas 7519c3d50c Cin-5: Drop per-source attrs from orchestrator
Removed the eight backward-compat attribute aliases on the orchestrator
(soulseek, youtube, tidal, qobuz, hifi, deezer_dl, lidarr, soundcloud).
External callers and the orchestrator's own internals now reach clients
through the generic alias-aware client(name) accessor.

- core/downloads/{master,monitor,validation}.py: migrated to client().
  Monitor's per-source aggregation loop replaced with a single
  engine.get_all_downloads() call.
- core/search/{orchestrator,stream}.py: migrated; stream.py drops the
  hand-built mode-to-client dict.
- web_server.py: migrated /api/deezer/arl-* + tidal client lookup.
- core/download_orchestrator.py: internal self.soulseek /
  self.deezer_dl reaches now route through self.client(); attr
  assignments dropped from __init__; module docstring updated.
- Test fakes (_FakeSoulseek, _FakeSoulseekWithYT) expose client(name)
  instead of stuffing per-source attributes.
- Conformance test re-pinned to the client() accessor contract.
2026-05-04 23:14:05 -07:00
..
__init__.py Lift /api/search and /api/enhanced-search/* into core/search/ 2026-04-27 15:07:11 -07:00
basic.py Lift /api/search and /api/enhanced-search/* into core/search/ 2026-04-27 15:07:11 -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 Cin-5: Drop per-source attrs from orchestrator 2026-05-04 23:14:05 -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-5: Drop per-source attrs from orchestrator 2026-05-04 23:14:05 -07:00