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