refactor: type music module contracts

This commit is contained in:
jxxghp
2026-08-24 01:50:01 +08:00
parent f655051c85
commit 9712803b8d
3 changed files with 186 additions and 74 deletions
+134 -74
View File
@@ -2940,16 +2940,18 @@
"version": 1
},
"async_identify_music_by_fingerprint": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicFingerprintRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"path"
],
"result_contract": "str | None",
"result_shape": "string",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
@@ -2972,15 +2974,19 @@
"version": 1
},
"async_match_music_album": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicAlbumMatchRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"required_parameters": [
"limit",
"meta",
"tracks"
],
"result_contract": "MusicAlbumInfo | None",
"result_shape": "any",
"supports_async": true,
"supports_sync": true,
@@ -4420,16 +4426,18 @@
"version": 1
},
"identify_music_by_fingerprint": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicFingerprintRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"path"
],
"result_contract": "str | None",
"result_shape": "string",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
@@ -4540,15 +4548,19 @@
"version": 1
},
"match_music_album": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicAlbumMatchRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"required_parameters": [
"limit",
"meta",
"tracks"
],
"result_contract": "MusicAlbumInfo | None",
"result_shape": "any",
"supports_async": true,
"supports_sync": true,
@@ -4975,15 +4987,18 @@
"version": 1
},
"music_album": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicIdentityRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"required_parameters": [
"media_id",
"media_source"
],
"result_contract": "MusicAlbumInfo | None",
"result_shape": "any",
"supports_async": true,
"supports_sync": true,
@@ -4991,31 +5006,38 @@
"version": 1
},
"music_album_related": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicRelatedRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"count",
"media_id",
"media_source"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_artist": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicIdentityRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"required_parameters": [
"media_id",
"media_source"
],
"result_contract": "MusicArtistInfo | None",
"result_shape": "any",
"supports_async": true,
"supports_sync": true,
@@ -5023,32 +5045,42 @@
"version": 1
},
"music_artist_albums": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicArtistAlbumsRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"album_type",
"count",
"media_id",
"media_source",
"page"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_artist_related": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicRelatedRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"count",
"media_id",
"media_source"
],
"result_contract": "list[MusicArtistInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
@@ -5071,95 +5103,119 @@
"version": 1
},
"music_cache_delete": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicCacheDeleteRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"cache_key"
],
"result_contract": "dict | None",
"result_shape": "mapping",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_cache_items": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicCacheReadRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"result_contract": "list[dict]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_chart": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicChartRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"count",
"entity",
"offset",
"range_name"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_discover": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicDiscoverRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"count",
"entity",
"media_source",
"mode",
"page",
"sort",
"tags"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_fresh_releases": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicFreshReleasesRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"count",
"days",
"future",
"offset",
"past",
"sort"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",
"version": 1
},
"music_lyrics": {
"aggregation": "legacy",
"aggregation": "first_non_empty",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicLyricsRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"required_parameters": [
"music"
],
"result_contract": "MusicLyrics | None",
"result_shape": "any",
"supports_async": true,
"supports_sync": true,
@@ -5414,16 +5470,20 @@
"version": 1
},
"search_music": {
"aggregation": "legacy",
"aggregation": "ordered_list_merge",
"error_policy": "isolate_provider",
"execution": "sync_or_async",
"family": "music",
"input_contract": "MusicKeywordArguments",
"input_contract": "MusicSearchRequest",
"plugin_short_circuit": true,
"public_to_plugins": true,
"required_parameters": [],
"result_contract": "MusicProviderResult",
"result_shape": "any",
"required_parameters": [
"limit",
"media_source",
"meta"
],
"result_contract": "list[MusicInfo]",
"result_shape": "list",
"supports_async": true,
"supports_sync": true,
"timeout_policy": "caller_budget",