Add SearchArtists and GetArtistAlbums proxy RPCs to music-agregator service

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/claude-agent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Alexander
2026-05-11 10:30:18 +02:00
parent ad03caa3f4
commit eab92dd40b
4 changed files with 205 additions and 0 deletions
@@ -8,6 +8,8 @@ service MusicAgregatorService {
rpc GetArtists(GetArtistsRequest) returns (GetArtistsResponse) {}
rpc GetAlbum(GetAlbumRequest) returns (GetAlbumResponse) {}
rpc AnalyzeAlbumRelease(AnalyzeAlbumReleaseRequest) returns (AnalyzeAlbumReleaseResponse) {}
rpc SearchArtists(SearchArtistsRequest) returns (SearchArtistsResponse) {}
rpc GetArtistAlbums(GetArtistAlbumsRequest) returns (GetArtistAlbumsResponse) {}
}
message MonitorAlbumRequest {
@@ -163,6 +165,74 @@ message MonitoredRelease {
string tracker = 18;
}
message SearchArtistsRequest {
string query = 1;
int32 limit = 2;
int32 offset = 3;
}
message SearchArtistsResponse {
repeated SearchArtistResult artists = 1;
int32 total = 2;
}
message SearchArtistResult {
string id = 1;
string name = 2;
string sort_name = 3;
string artist_type = 4;
string country = 5;
string formed_date = 6;
string disbanded_date = 7;
string description = 8;
string image_url = 9;
repeated string genres = 10;
repeated ExternalId external_ids = 11;
}
message ExternalId {
string provider = 1;
string id = 2;
}
message GetArtistAlbumsRequest {
string artist_id = 1;
int32 limit = 2;
int32 offset = 3;
}
message GetArtistAlbumsResponse {
repeated AlbumResult albums = 1;
int32 total = 2;
}
message AlbumResult {
string id = 1;
string title = 2;
string album_type = 3;
string release_date = 4;
string upc = 5;
int32 total_tracks = 6;
int32 total_discs = 7;
string cover_url = 8;
repeated AlbumArtistCredit artists = 9;
AlbumLabel label = 10;
repeated string genres = 11;
repeated ExternalId external_ids = 12;
}
message AlbumArtistCredit {
string id = 1;
string name = 2;
string role = 3;
}
message AlbumLabel {
string id = 1;
string name = 2;
string country = 3;
}
enum InteractionMode {
INTERACTION_MODE_AUTOMATIC = 0;
INTERACTION_MODE_MANUAL = 1;