refactor: reorganize folder structure for better maintainability

Changes:
- Move migrations/ under open_notebook/database/migrations/
- Extract AI models to open_notebook/ai/ (Model, ModelManager, provision)
- Extract podcasts to open_notebook/podcasts/ (EpisodeProfile, SpeakerProfile, PodcastEpisode)
- Reorganize prompts to mirror graphs structure (chat/, source_chat/)

This improves code organization by:
- Consolidating database concerns (migrations now with database code)
- Separating AI infrastructure from domain entities
- Isolating podcast feature into its own module
- Creating consistent prompt/graph naming conventions

All 52 tests pass.
This commit is contained in:
LUIS NOVO 2026-01-03 14:04:27 -03:00
parent 93cda6c42a
commit ab5560c9a2
48 changed files with 50 additions and 47 deletions

View file

@ -60,7 +60,7 @@ class TestModelCreation:
@patch("open_notebook.database.repository.repo_query")
async def test_create_same_model_name_different_provider(self, mock_repo_query, client):
"""Test that creating a model with same name but different provider is allowed."""
from open_notebook.domain.models import Model
from open_notebook.ai.models import Model
# Mock repo_query to return empty (no duplicate found for different provider)
mock_repo_query.return_value = []