{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_py", "label": "deps.py", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_session", "label": "get_session()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L50", "_callable": true}, {"id": "asyncsession", "label": "AsyncSession", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_password_hasher", "label": "get_password_hasher()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L68", "_callable": true}, {"id": "passwordhasher", "label": "PasswordHasher", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_token_service", "label": "get_token_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L73", "_callable": true}, {"id": "tokenservice", "label": "TokenService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_subsonic_cipher", "label": "get_subsonic_cipher()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L78", "_callable": true}, {"id": "subsoniccipher", "label": "SubsonicCipher", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_source_registry", "label": "get_source_registry()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L83", "_callable": true}, {"id": "sourceregistry", "label": "SourceRegistry", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_auth_service", "label": "get_auth_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L91", "_callable": true}, {"id": "sessiondep", "label": "SessionDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "authservice", "label": "AuthService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_user_service", "label": "get_user_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L100", "_callable": true}, {"id": "userservice", "label": "UserService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_subsonic_auth_service", "label": "get_subsonic_auth_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L108", "_callable": true}, {"id": "subsonicauthservice", "label": "SubsonicAuthService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_upload_service", "label": "get_upload_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L124", "_callable": true}, {"id": "filestoragedep", "label": "FileStorageDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "uploadservice", "label": "UploadService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_streaming_service", "label": "get_streaming_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L135", "_callable": true}, {"id": "streamingservice", "label": "StreamingService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_metadata_service", "label": "get_metadata_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L142", "_callable": true}, {"id": "metadataenrichmentservice", "label": "MetadataEnrichmentService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_download_service", "label": "get_download_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L165", "_callable": true}, {"id": "downloadservice", "label": "DownloadService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_remote_library_service", "label": "get_remote_library_service()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L176", "_callable": true}, {"id": "remotelibraryservice", "label": "RemoteLibraryService", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_track_repository", "label": "get_track_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L193", "_callable": true}, {"id": "sqlalchemytrackrepository", "label": "SqlAlchemyTrackRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_artist_repository", "label": "get_artist_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L197", "_callable": true}, {"id": "sqlalchemyartistrepository", "label": "SqlAlchemyArtistRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_album_repository", "label": "get_album_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L201", "_callable": true}, {"id": "sqlalchemyalbumrepository", "label": "SqlAlchemyAlbumRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_playlist_repository", "label": "get_playlist_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L205", "_callable": true}, {"id": "sqlalchemyplaylistrepository", "label": "SqlAlchemyPlaylistRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_like_repository", "label": "get_like_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L209", "_callable": true}, {"id": "sqlalchemylikerepository", "label": "SqlAlchemyLikeRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_history_repository", "label": "get_history_repository()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L213", "_callable": true}, {"id": "sqlalchemyhistoryrepository", "label": "SqlAlchemyHistoryRepository", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_current_user", "label": "get_current_user()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L232", "_callable": true}, {"id": "bearerdep", "label": "BearerDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "authservicedep", "label": "AuthServiceDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "user", "label": "User", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_current_superuser", "label": "get_current_superuser()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L241", "_callable": true}, {"id": "currentuser", "label": "CurrentUser", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_streaming_user", "label": "get_streaming_user()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L250", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_subsonic_user", "label": "get_subsonic_user()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L275", "_callable": true}, {"id": "subsonicauthservicedep", "label": "SubsonicAuthServiceDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/deps.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_get_subsonic_format", "label": "get_subsonic_format()", "file_type": "code", "source_file": "app/api/deps.py", "source_location": "L288", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_rationale_1", "label": "Shared FastAPI dependencies \u2014 the composition root for request-scoped wiring. C", "file_type": "rationale", "source_file": "app/api/deps.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_rationale_51", "label": "Request-scoped DB session. Commits on success, rolls back on exception.", "file_type": "rationale", "source_file": "app/api/deps.py", "source_location": "L51"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_rationale_143", "label": "Wires the \u00a76.2 fingerprint/AcoustID adapters for read-only, inline use (the", "file_type": "rationale", "source_file": "app/api/deps.py", "source_location": "L143"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_deps_rationale_255", "label": "Authenticate a stream request. The browser ``