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

@ -96,26 +96,26 @@ class AsyncMigrationManager:
def __init__(self):
"""Initialize migration manager."""
self.up_migrations = [
AsyncMigration.from_file("migrations/1.surrealql"),
AsyncMigration.from_file("migrations/2.surrealql"),
AsyncMigration.from_file("migrations/3.surrealql"),
AsyncMigration.from_file("migrations/4.surrealql"),
AsyncMigration.from_file("migrations/5.surrealql"),
AsyncMigration.from_file("migrations/6.surrealql"),
AsyncMigration.from_file("migrations/7.surrealql"),
AsyncMigration.from_file("migrations/8.surrealql"),
AsyncMigration.from_file("migrations/9.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/1.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/2.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/3.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/4.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/5.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/6.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/7.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/8.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/9.surrealql"),
]
self.down_migrations = [
AsyncMigration.from_file("migrations/1_down.surrealql"),
AsyncMigration.from_file("migrations/2_down.surrealql"),
AsyncMigration.from_file("migrations/3_down.surrealql"),
AsyncMigration.from_file("migrations/4_down.surrealql"),
AsyncMigration.from_file("migrations/5_down.surrealql"),
AsyncMigration.from_file("migrations/6_down.surrealql"),
AsyncMigration.from_file("migrations/7_down.surrealql"),
AsyncMigration.from_file("migrations/8_down.surrealql"),
AsyncMigration.from_file("migrations/9_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/1_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/2_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/3_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/4_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/5_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/6_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/7_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/8_down.surrealql"),
AsyncMigration.from_file("open_notebook/database/migrations/9_down.surrealql"),
]
self.runner = AsyncMigrationRunner(
up_migrations=self.up_migrations,