Deluan
7b9bc1c5ac
refactor: move agent files to adapters for consistency
...
Signed-off-by: Deluan <deluan@navidrome.org >
2026-01-14 19:33:54 -05:00
Deluan
55966ba5ec
feat(agents): add ID field to Artist and Song structs with direct matching
...
Add ID field to Artist and Song structs in the agents package. When resolving
similar artists and top songs, the provider now uses a three-phase lookup:
1. Direct ID match (if agent returns internal Navidrome IDs)
2. MBID exact match (if MusicBrainz ID is available)
3. Fuzzy name/title match (existing behavior)
This enables agents to return more precise matches when they have access to
internal database IDs, while maintaining backward compatibility with
name-based matching.
2026-01-11 17:06:25 -05:00
Kendall Garner
91e7f7b5c9
fix(server): ensure that similar artists retrieved from provider are no more than limit ( #4267 )
...
* fix(provider): ensure that similar artists retreived from provider are no more than limit
* add overlimit multiplier
2025-06-29 12:19:29 -04:00
Deluan Quintão
bc733540f9
refactor(server): optimize top songs lookup ( #4189 )
...
* optimize top songs lookup
* Optimize title matching queries
* refactor: simplify top songs matching
* improve error handling and logging in track loading functions
Signed-off-by: Deluan <deluan@navidrome.org >
* test: add cases for fallback to title matching and combined MBID/title matching
Signed-off-by: Deluan <deluan@navidrome.org >
---------
Signed-off-by: Deluan <deluan@navidrome.org >
2025-06-08 11:44:44 -04:00
Deluan Quintão
58367afaea
refactor: external_metadata -> external.Provider ( #3903 )
...
* tests for TopSongs
Signed-off-by: Deluan <deluan@navidrome.org >
* convert to Ginkgo
Signed-off-by: Deluan <deluan@navidrome.org >
* consolidate tests
Signed-off-by: Deluan <deluan@navidrome.org >
* rename external metadata -wip
Signed-off-by: Deluan <deluan@navidrome.org >
* rename external metadata to extdata.Provider
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor tests - wip
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor test helpers
Signed-off-by: Deluan <deluan@navidrome.org >
* remove reflection
Signed-off-by: Deluan <deluan@navidrome.org >
* use mock.Mock
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* fix
Signed-off-by: Deluan <deluan@navidrome.org >
* receive Agents interface in Provider constructor
Signed-off-by: Deluan <deluan@navidrome.org >
* use mock for Agents
Signed-off-by: Deluan <deluan@navidrome.org >
* tests for SimilarSongs
Signed-off-by: Deluan <deluan@navidrome.org >
* remove duplication
Signed-off-by: Deluan <deluan@navidrome.org >
* ArtistImage tests
Signed-off-by: Deluan <deluan@navidrome.org >
* AlbumImage tests
Signed-off-by: Deluan <deluan@navidrome.org >
* fix provider error handling
Signed-off-by: Deluan <deluan@navidrome.org >
* UpdateAlbumInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org >
* UpdateAlbumInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* UpdateArtistInfo tests - wip
Signed-off-by: Deluan <deluan@navidrome.org >
* clean up
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* fix test descriptions
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor
Signed-off-by: Deluan <deluan@navidrome.org >
* refactor: rename extdata package to external
Signed-off-by: Deluan <deluan@navidrome.org >
---------
Signed-off-by: Deluan <deluan@navidrome.org >
2025-04-08 21:11:09 -04:00