From 63c95ff1e202a65cdad0fa8b9fc56fb916d068ca Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 17 Mar 2026 14:30:24 +0000 Subject: [PATCH] Move all chat related code under chats --- lib/music_library/{ => chats}/artist_chat.ex | 4 ++-- lib/music_library/{ => chats}/record_chat.ex | 4 ++-- lib/music_library/{chat.ex => chats/stream_provider.ex} | 2 +- lib/music_library_web/live/artist_live/show.ex | 2 +- lib/music_library_web/live/collection_live/show.ex | 2 +- lib/music_library_web/live/wishlist_live/show.ex | 2 +- test/music_library/{ => chats}/artist_chat_test.exs | 4 ++-- test/music_library/{ => chats}/record_chat_test.exs | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) rename lib/music_library/{ => chats}/artist_chat.ex (94%) rename lib/music_library/{ => chats}/record_chat.ex (94%) rename lib/music_library/{chat.ex => chats/stream_provider.ex} (85%) rename test/music_library/{ => chats}/artist_chat_test.exs (97%) rename test/music_library/{ => chats}/record_chat_test.exs (97%) diff --git a/lib/music_library/artist_chat.ex b/lib/music_library/chats/artist_chat.ex similarity index 94% rename from lib/music_library/artist_chat.ex rename to lib/music_library/chats/artist_chat.ex index b2cb689a..7b88bdb6 100644 --- a/lib/music_library/artist_chat.ex +++ b/lib/music_library/chats/artist_chat.ex @@ -1,9 +1,9 @@ -defmodule MusicLibrary.ArtistChat do +defmodule MusicLibrary.Chats.ArtistChat do @moduledoc """ Chat implementation for artists using OpenAI streaming with Wikipedia context. """ - @behaviour MusicLibrary.Chat + @behaviour MusicLibrary.Chats.StreamProvider alias MusicLibrary.Artists.ArtistInfo diff --git a/lib/music_library/record_chat.ex b/lib/music_library/chats/record_chat.ex similarity index 94% rename from lib/music_library/record_chat.ex rename to lib/music_library/chats/record_chat.ex index 4ea0a9b5..d849cd0a 100644 --- a/lib/music_library/record_chat.ex +++ b/lib/music_library/chats/record_chat.ex @@ -1,9 +1,9 @@ -defmodule MusicLibrary.RecordChat do +defmodule MusicLibrary.Chats.RecordChat do @moduledoc """ Chat implementation for records using OpenAI streaming with web search. """ - @behaviour MusicLibrary.Chat + @behaviour MusicLibrary.Chats.StreamProvider alias MusicLibrary.Records.Record diff --git a/lib/music_library/chat.ex b/lib/music_library/chats/stream_provider.ex similarity index 85% rename from lib/music_library/chat.ex rename to lib/music_library/chats/stream_provider.ex index caa4c163..062d2886 100644 --- a/lib/music_library/chat.ex +++ b/lib/music_library/chats/stream_provider.ex @@ -1,4 +1,4 @@ -defmodule MusicLibrary.Chat do +defmodule MusicLibrary.Chats.StreamProvider do @moduledoc """ Behaviour for streaming AI chat with entity-specific context. """ diff --git a/lib/music_library_web/live/artist_live/show.ex b/lib/music_library_web/live/artist_live/show.ex index 1377dc80..4c96c630 100644 --- a/lib/music_library_web/live/artist_live/show.ex +++ b/lib/music_library_web/live/artist_live/show.ex @@ -496,7 +496,7 @@ defmodule MusicLibraryWeb.ArtistLive.Show do title={@artist.name} entity={:artist} musicbrainz_id={@artist.musicbrainz_id} - chat_module={MusicLibrary.ArtistChat} + chat_module={MusicLibrary.Chats.ArtistChat} chat_context={{@artist, @artist_info}} placeholder={gettext("Ask about this artist...")} empty_prompt={gettext("Ask anything about this artist")} diff --git a/lib/music_library_web/live/collection_live/show.ex b/lib/music_library_web/live/collection_live/show.ex index 7a4e6e34..e884d4db 100644 --- a/lib/music_library_web/live/collection_live/show.ex +++ b/lib/music_library_web/live/collection_live/show.ex @@ -308,7 +308,7 @@ defmodule MusicLibraryWeb.CollectionLive.Show do title={@record.title} entity={:record} musicbrainz_id={@record.musicbrainz_id} - chat_module={MusicLibrary.RecordChat} + chat_module={MusicLibrary.Chats.RecordChat} chat_context={{@record, @embedding_text}} placeholder={gettext("Ask about this album...")} empty_prompt={gettext("Ask anything about this album")} diff --git a/lib/music_library_web/live/wishlist_live/show.ex b/lib/music_library_web/live/wishlist_live/show.ex index 6eff8390..9bb0e13b 100644 --- a/lib/music_library_web/live/wishlist_live/show.ex +++ b/lib/music_library_web/live/wishlist_live/show.ex @@ -253,7 +253,7 @@ defmodule MusicLibraryWeb.WishlistLive.Show do title={@record.title} entity={:record} musicbrainz_id={@record.musicbrainz_id} - chat_module={MusicLibrary.RecordChat} + chat_module={MusicLibrary.Chats.RecordChat} chat_context={{@record, @embedding_text}} placeholder={gettext("Ask about this album...")} empty_prompt={gettext("Ask anything about this album")} diff --git a/test/music_library/artist_chat_test.exs b/test/music_library/chats/artist_chat_test.exs similarity index 97% rename from test/music_library/artist_chat_test.exs rename to test/music_library/chats/artist_chat_test.exs index 0dc26442..1a4d56ba 100644 --- a/test/music_library/artist_chat_test.exs +++ b/test/music_library/chats/artist_chat_test.exs @@ -1,8 +1,8 @@ -defmodule MusicLibrary.ArtistChatTest do +defmodule MusicLibrary.Chats.ArtistChatTest do use ExUnit.Case - alias MusicLibrary.ArtistChat alias MusicLibrary.Artists.{Artist, ArtistInfo} + alias MusicLibrary.Chats.ArtistChat defp build_artist(attrs \\ %{}) do defaults = %{ diff --git a/test/music_library/record_chat_test.exs b/test/music_library/chats/record_chat_test.exs similarity index 97% rename from test/music_library/record_chat_test.exs rename to test/music_library/chats/record_chat_test.exs index a3f3603f..d6b0e362 100644 --- a/test/music_library/record_chat_test.exs +++ b/test/music_library/chats/record_chat_test.exs @@ -1,8 +1,8 @@ -defmodule MusicLibrary.RecordChatTest do +defmodule MusicLibrary.Chats.RecordChatTest do use ExUnit.Case alias MusicLibrary.Artists.Artist - alias MusicLibrary.RecordChat + alias MusicLibrary.Chats.RecordChat alias MusicLibrary.Records.Record defp build_record(attrs \\ %{}) do