feat(media): aggregate aliases from enabled metadata sources

This commit is contained in:
jxxghp
2026-08-26 13:45:03 +08:00
parent ac2a2b1129
commit e02418bace
19 changed files with 727 additions and 125 deletions
+23 -3
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6785,
"edge_sha256": "077e003bf195195e4e75dc65c9596e0b5a45c0e33441e3a22829f0cdb8d98e45",
"edge_count": 6804,
"edge_sha256": "3e9a93795c6cfb5bc78e4871ae7c11b064ec0a2ea4f545ce94a6c0c696800df4",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -4155,6 +4155,7 @@
"app.modules.anilist -> app.domain.scraper",
"app.modules.anilist -> app.modules",
"app.modules.anilist -> app.modules.anilist.anilist",
"app.modules.anilist -> app.modules.media_auxiliary",
"app.modules.anilist -> app.runtime",
"app.modules.anilist -> app.runtime.log",
"app.modules.anilist -> app.runtime.settings",
@@ -4179,6 +4180,7 @@
"app.modules.bangumi -> app.domain.scraper",
"app.modules.bangumi -> app.modules",
"app.modules.bangumi -> app.modules.bangumi.bangumi",
"app.modules.bangumi -> app.modules.media_auxiliary",
"app.modules.bangumi -> app.runtime",
"app.modules.bangumi -> app.runtime.log",
"app.modules.bangumi -> app.runtime.settings",
@@ -4251,6 +4253,7 @@
"app.modules.douban -> app.modules",
"app.modules.douban -> app.modules.douban.apiv2",
"app.modules.douban -> app.modules.douban.scraper",
"app.modules.douban -> app.modules.media_auxiliary",
"app.modules.douban -> app.runtime",
"app.modules.douban -> app.runtime.execution",
"app.modules.douban -> app.runtime.log",
@@ -4546,6 +4549,7 @@
"app.modules.imdb -> app.foundation.text",
"app.modules.imdb -> app.modules",
"app.modules.imdb -> app.modules.imdb.api",
"app.modules.imdb -> app.modules.media_auxiliary",
"app.modules.imdb -> app.runtime",
"app.modules.imdb -> app.runtime.log",
"app.modules.imdb -> app.runtime.settings",
@@ -4916,6 +4920,14 @@
"app.modules.lrclib -> app.runtime.settings",
"app.modules.lrclib -> app.schemas",
"app.modules.lrclib -> app.schemas.types",
"app.modules.media_auxiliary -> app.domain",
"app.modules.media_auxiliary -> app.domain.context",
"app.modules.media_auxiliary -> app.domain.media",
"app.modules.media_auxiliary -> app.domain.meta",
"app.modules.media_auxiliary -> app.domain.meta.metabase",
"app.modules.media_auxiliary -> app.domain.metainfo",
"app.modules.media_auxiliary -> app.schemas",
"app.modules.media_auxiliary -> app.schemas.types",
"app.modules.musicbrainz -> app.adapters",
"app.modules.musicbrainz -> app.adapters.network",
"app.modules.musicbrainz -> app.adapters.network.http",
@@ -5248,6 +5260,7 @@
"app.modules.themoviedb -> app.foundation",
"app.modules.themoviedb -> app.foundation.text",
"app.modules.themoviedb -> app.modules",
"app.modules.themoviedb -> app.modules.media_auxiliary",
"app.modules.themoviedb -> app.modules.themoviedb.category",
"app.modules.themoviedb -> app.modules.themoviedb.scraper",
"app.modules.themoviedb -> app.modules.themoviedb.tmdb_cache",
@@ -5445,9 +5458,15 @@
"app.modules.themoviedb.tmdbv3api.tmdb -> app.runtime",
"app.modules.themoviedb.tmdbv3api.tmdb -> app.runtime.cache",
"app.modules.themoviedb.tmdbv3api.tmdb -> app.runtime.settings",
"app.modules.thetvdb -> app.domain",
"app.modules.thetvdb -> app.domain.context",
"app.modules.thetvdb -> app.domain.media",
"app.modules.thetvdb -> app.domain.meta",
"app.modules.thetvdb -> app.domain.meta.metabase",
"app.modules.thetvdb -> app.modules",
"app.modules.thetvdb -> app.modules.thetvdb.tvdb_v4_official",
"app.modules.thetvdb -> app.runtime",
"app.modules.thetvdb -> app.runtime.execution",
"app.modules.thetvdb -> app.runtime.log",
"app.modules.thetvdb -> app.runtime.settings",
"app.modules.thetvdb -> app.schemas",
@@ -6802,7 +6821,7 @@
"app.workflow.actions.transfer_file -> app.workflow",
"app.workflow.actions.transfer_file -> app.workflow.actions"
],
"module_count": 834,
"module_count": 835,
"modules": [
"app",
"app.adapters",
@@ -7369,6 +7388,7 @@
"app.modules.jellyfin.jellyfin",
"app.modules.listenbrainz",
"app.modules.lrclib",
"app.modules.media_auxiliary",
"app.modules.musicbrainz",
"app.modules.musicbrainz.music_cache",
"app.modules.musixmatch",
+56 -7
View File
@@ -3220,6 +3220,26 @@
"timeout_policy": "caller_budget",
"version": 1
},
"async_get_media_auxiliary_info": {
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "media-recognition",
"input_contract": "MediaAuxiliaryInfoRequest",
"plugin_short_circuit": false,
"public_to_plugins": true,
"required_parameters": [
"media_source",
"mediainfo",
"metainfo"
],
"result_contract": "list[MediaInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"async_identify_music_by_fingerprint": {
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
@@ -4696,6 +4716,26 @@
"timeout_policy": "caller_budget",
"version": 1
},
"get_media_auxiliary_info": {
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "media-recognition",
"input_contract": "MediaAuxiliaryInfoRequest",
"plugin_short_circuit": false,
"public_to_plugins": true,
"required_parameters": [
"media_source",
"mediainfo",
"metainfo"
],
"result_contract": "list[MediaInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"get_parent_item": {
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
@@ -6722,10 +6762,10 @@
}
},
"run_module": {
"call_count": 263,
"call_count": 264,
"dynamic_call_count": 0,
"dynamic_calls": [],
"method_count": 212,
"method_count": 214,
"methods": {
"anilist_credits": [
{
@@ -6966,6 +7006,13 @@
"mode": "async"
}
],
"async_get_media_auxiliary_info": [
{
"caller": "app.chain.media",
"count": 1,
"mode": "async"
}
],
"async_identify_music_by_fingerprint": [
{
"caller": "app.chain.acoustid",
@@ -7565,6 +7612,13 @@
"mode": "sync"
}
],
"get_media_auxiliary_info": [
{
"caller": "app.chain.media",
"count": 1,
"mode": "sync"
}
],
"get_parent_item": [
{
"caller": "app.chain.storage",
@@ -7962,11 +8016,6 @@
"count": 1,
"mode": "sync"
},
{
"caller": "app.chain.media",
"count": 1,
"mode": "sync"
},
{
"caller": "app.chain.musicbrainz",
"count": 1,