Files
mcma-backend/graphify-out/graph.html
T
Senko-san df580578f6
Docker Build & Publish / build (push) Successful in 1m29s
Docker Build & Publish / push (push) Failing after 9s
Docker Build & Publish / Prune old image versions (push) Has been skipped
stuff
2026-07-23 12:01:55 +03:00

307 lines
2.2 MiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>graphify - graphify-out/graph.html</title>
<script src="https://unpkg.com/vis-network@9.1.6/standalone/umd/vis-network.min.js"
integrity="sha384-Ux6phic9PEHJ38YtrijhkzyJ8yQlH8i/+buBR8s3mAZOJrP1gwyvAcIYl3GWtpX1"
crossorigin="anonymous"></script>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; overflow: hidden; }
#graph { flex: 1; }
#sidebar { width: 280px; background: #1a1a2e; border-left: 1px solid #2a2a4e; display: flex; flex-direction: column; overflow: hidden; }
#search-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; }
#search { width: 100%; background: #0f0f1a; border: 1px solid #3a3a5e; color: #e0e0e0; padding: 7px 10px; border-radius: 6px; font-size: 13px; outline: none; }
#search:focus { border-color: #4E79A7; }
#search-results { max-height: 140px; overflow-y: auto; padding: 4px 12px; border-bottom: 1px solid #2a2a4e; display: none; }
.search-item { padding: 4px 6px; cursor: pointer; border-radius: 4px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-item:hover { background: #2a2a4e; }
#info-panel { padding: 14px; border-bottom: 1px solid #2a2a4e; min-height: 140px; }
#info-panel h3 { font-size: 13px; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.05em; }
#info-content { font-size: 13px; color: #ccc; line-height: 1.6; }
#info-content .field { margin-bottom: 5px; }
#info-content .field b { color: #e0e0e0; }
#info-content .empty { color: #555; font-style: italic; }
.neighbor-link { display: block; padding: 2px 6px; margin: 2px 0; border-radius: 3px; cursor: pointer; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid #333; }
.neighbor-link:hover { background: #2a2a4e; }
#neighbors-list { max-height: 160px; overflow-y: auto; margin-top: 4px; }
#legend-wrap { flex: 1; overflow-y: auto; padding: 12px; }
#legend-wrap h3 { font-size: 13px; color: #aaa; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.05em; }
.legend-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; border-radius: 4px; font-size: 12px; }
.legend-item:hover { background: #2a2a4e; padding-left: 4px; }
.legend-item.dimmed { opacity: 0.35; }
.legend-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legend-count { color: #666; font-size: 11px; }
#stats { padding: 10px 14px; border-top: 1px solid #2a2a4e; font-size: 11px; color: #555; }
#legend-controls { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 4px 0; }
#legend-controls label { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 12px; color: #aaa; user-select: none; }
#legend-controls label:hover { color: #e0e0e0; }
.legend-cb, #select-all-cb { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; border: 1.5px solid #3a3a5e; border-radius: 3px; background: #0f0f1a; cursor: pointer; position: relative; flex-shrink: 0; }
.legend-cb:checked, #select-all-cb:checked { background: #4E79A7; border-color: #4E79A7; }
.legend-cb:checked::after, #select-all-cb:checked::after { content: ''; position: absolute; left: 3.5px; top: 1px; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#select-all-cb:indeterminate { background: #4E79A7; border-color: #4E79A7; }
#select-all-cb:indeterminate::after { content: ''; position: absolute; left: 2px; top: 5px; width: 8px; height: 2px; background: #fff; border: none; transform: none; }
</style>
</head>
<body>
<div id="graph"></div>
<div id="sidebar">
<div id="search-wrap">
<input id="search" type="text" placeholder="Search nodes..." autocomplete="off">
<div id="search-results"></div>
</div>
<div id="info-panel">
<h3>Node Info</h3>
<div id="info-content"><span class="empty">Click a node to inspect it</span></div>
</div>
<div id="legend-wrap">
<h3>Communities</h3>
<div id="legend-controls">
<label><input type="checkbox" id="select-all-cb" checked onchange="toggleAllCommunities(!this.checked)">Select All</label>
</div>
<div id="legend"></div>
</div>
<div id="stats">1994 nodes &middot; 5692 edges &middot; 133 communities</div>
</div>
<script>
const RAW_NODES = [{"id": "alembic_env", "label": "env.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "env.py", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "alembic/env.py", "file_type": "code", "degree": 7}, {"id": "alembic_env_run_migrations", "label": "_run_migrations()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_run_migrations()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "alembic/env.py", "file_type": "code", "degree": 3}, {"id": "connection", "label": "Connection", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Connection", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "", "file_type": "code", "degree": 1}, {"id": "alembic_env_run_migrations_offline", "label": "run_migrations_offline()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "run_migrations_offline()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "alembic/env.py", "file_type": "code", "degree": 1}, {"id": "alembic_env_run_migrations_online", "label": "run_migrations_online()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "run_migrations_online()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "alembic/env.py", "file_type": "code", "degree": 2}, {"id": "alembic_env_rationale_1", "label": "Alembic environment \u2014 async, settings-driven, model-aware. The DB URL comes fro", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Alembic environment \u2014 async, settings-driven, model-aware. The DB URL comes fro", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "alembic/env.py", "file_type": "rationale", "degree": 1}, {"id": "alembic_versions_20260602_0001_0001_auth_users", "label": "20260602_0001-0001_auth_users.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260602_0001-0001_auth_users.py", "community": 82, "community_name": "Migration: auth_users", "source_file": "alembic/versions/20260602_0001-0001_auth_users.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260602_0001_0001_auth_users_upgrade", "label": "upgrade()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 82, "community_name": "Migration: auth_users", "source_file": "alembic/versions/20260602_0001-0001_auth_users.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260602_0001_0001_auth_users_downgrade", "label": "downgrade()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 82, "community_name": "Migration: auth_users", "source_file": "alembic/versions/20260602_0001-0001_auth_users.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema", "label": "20260607_1137-e670d6c41d0c_music_schema.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260607_1137-e670d6c41d0c_music_schema.py", "community": 83, "community_name": "Migration: music_schema", "source_file": "alembic/versions/20260607_1137-e670d6c41d0c_music_schema.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema_upgrade", "label": "upgrade()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 83, "community_name": "Migration: music_schema", "source_file": "alembic/versions/20260607_1137-e670d6c41d0c_music_schema.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema_downgrade", "label": "downgrade()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 83, "community_name": "Migration: music_schema", "source_file": "alembic/versions/20260607_1137-e670d6c41d0c_music_schema.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri", "label": "20260608_1132-rename_track_file_path_to_storage_uri.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260608_1132-rename_track_file_path_to_storage_uri.py", "community": 84, "community_name": "Migration: rename track file_path", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_upgrade", "label": "upgrade()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 84, "community_name": "Migration: rename track file_path", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_downgrade", "label": "downgrade()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 84, "community_name": "Migration: rename track file_path", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260608_1200_subsonic_app_password", "label": "20260608_1200-subsonic_app_password.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260608_1200-subsonic_app_password.py", "community": 85, "community_name": "Migration: subsonic_app_password", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260608_1200_subsonic_app_password_upgrade", "label": "upgrade()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 85, "community_name": "Migration: subsonic_app_password", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260608_1200_subsonic_app_password_downgrade", "label": "downgrade()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 85, "community_name": "Migration: subsonic_app_password", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260613_1300_track_enrichment_outcome", "label": "20260613_1300-track_enrichment_outcome.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260613_1300-track_enrichment_outcome.py", "community": 86, "community_name": "Migration: track_enrichment_outcome", "source_file": "alembic/versions/20260613_1300-track_enrichment_outcome.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260613_1300_track_enrichment_outcome_upgrade", "label": "upgrade()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 86, "community_name": "Migration: track_enrichment_outcome", "source_file": "alembic/versions/20260613_1300-track_enrichment_outcome.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260613_1300_track_enrichment_outcome_downgrade", "label": "downgrade()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 86, "community_name": "Migration: track_enrichment_outcome", "source_file": "alembic/versions/20260613_1300-track_enrichment_outcome.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260614_1000_download_job_track_id", "label": "20260614_1000-download_job_track_id.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260614_1000-download_job_track_id.py", "community": 87, "community_name": "Migration: download_job_track_id", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260614_1000_download_job_track_id_upgrade", "label": "upgrade()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 87, "community_name": "Migration: download_job_track_id", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260614_1000_download_job_track_id_downgrade", "label": "downgrade()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 87, "community_name": "Migration: download_job_track_id", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability", "label": "20260614_1125-dc126696f5a6_remote_placeholders_track_availability_.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "20260614_1125-dc126696f5a6_remote_placeholders_track_availability_.py", "community": 88, "community_name": "Migration: remote_placeholders", "source_file": "alembic/versions/20260614_1125-dc126696f5a6_remote_placeholders_track_availability_.py", "file_type": "code", "degree": 2}, {"id": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability_upgrade", "label": "upgrade()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 88, "community_name": "Migration: remote_placeholders", "source_file": "alembic/versions/20260614_1125-dc126696f5a6_remote_placeholders_track_availability_.py", "file_type": "code", "degree": 1}, {"id": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability_downgrade", "label": "downgrade()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 88, "community_name": "Migration: remote_placeholders", "source_file": "alembic/versions/20260614_1125-dc126696f5a6_remote_placeholders_track_availability_.py", "file_type": "code", "degree": 1}, {"id": "app_init", "label": "__init__.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 98, "community_name": "Package: app root (mcma-backend)", "source_file": "app/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_init_rationale_1", "label": "mcma-backend \u2014 self-hosted, offline-first music service. Hexagonal (ports & ada", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "mcma-backend \u2014 self-hosted, offline-first music service. Hexagonal (ports &amp; ada", "community": 98, "community_name": "Package: app root (mcma-backend)", "source_file": "app/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_init", "label": "__init__.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 89, "community_name": "Package: app.api", "source_file": "app/api/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_api_init_rationale_1", "label": "Driving adapter \u2014 FastAPI routers, schemas, dependency wiring.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Driving adapter \u2014 FastAPI routers, schemas, dependency wiring.", "community": 89, "community_name": "Package: app.api", "source_file": "app/api/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_covers", "label": "covers.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "covers.py", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "code", "degree": 17}, {"id": "app_api_covers_content_type_for", "label": "_content_type_for()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_content_type_for()", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "code", "degree": 2}, {"id": "app_api_covers_stream_cover", "label": "stream_cover()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "stream_cover()", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "code", "degree": 12}, {"id": "app_api_covers_py_streamingresponse", "label": "StreamingResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingResponse", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_covers_resolve_album_for_track", "label": "resolve_album_for_track()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "resolve_album_for_track()", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "code", "degree": 10}, {"id": "app_api_covers_py_uuid", "label": "UUID", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_covers_rationale_1", "label": "Shared cover-art serving helper (presentation). Streams a stored cover image fr", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared cover-art serving helper (presentation). Streams a stored cover image fr", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_covers_rationale_35", "label": "Stream a stored cover by its storage key. Raises ``NotFoundError`` if the ob", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Stream a stored cover by its storage key. Raises ``NotFoundError`` if the ob", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_covers_rationale_53", "label": "The album that owns a track (cover lives on the album), or ``None``.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The album that owns a track (cover lives on the album), or ``None``.", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/covers.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_deps", "label": "deps.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "deps.py", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 102}, {"id": "app_api_deps_get_session", "label": "get_session()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_session()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 4}, {"id": "app_api_deps_py_asyncsession", "label": "AsyncSession", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_deps_get_password_hasher", "label": "get_password_hasher()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_password_hasher()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_token_service", "label": "get_token_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_token_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_subsonic_cipher", "label": "get_subsonic_cipher()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_subsonic_cipher()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_source_registry", "label": "get_source_registry()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_source_registry()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_auth_service", "label": "get_auth_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_auth_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 7}, {"id": "sessiondep", "label": "SessionDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "SessionDep", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "", "file_type": "code", "degree": 14}, {"id": "app_api_deps_get_user_service", "label": "get_user_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_user_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 6}, {"id": "app_api_deps_get_subsonic_auth_service", "label": "get_subsonic_auth_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_subsonic_auth_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_upload_service", "label": "get_upload_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "get_upload_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 8}, {"id": "app_api_deps_py_filestoragedep", "label": "FileStorageDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FileStorageDep", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_deps_get_streaming_service", "label": "get_streaming_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_streaming_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "app_api_deps_get_metadata_service", "label": "get_metadata_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_metadata_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 12}, {"id": "app_api_deps_get_download_service", "label": "get_download_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_download_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 9}, {"id": "app_api_deps_get_remote_library_service", "label": "get_remote_library_service()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_remote_library_service()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 7}, {"id": "app_api_deps_get_track_repository", "label": "get_track_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_track_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_artist_repository", "label": "get_artist_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artist_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_album_repository", "label": "get_album_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_playlist_repository", "label": "get_playlist_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_like_repository", "label": "get_like_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_like_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_history_repository", "label": "get_history_repository()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_history_repository()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_get_current_user", "label": "get_current_user()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_current_user()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/api/deps.py", "file_type": "code", "degree": 5}, {"id": "bearerdep", "label": "BearerDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "BearerDep", "community": 27, "community_name": "Credentials & User Repository", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_deps_py_authservicedep", "label": "AuthServiceDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthServiceDep", "community": 27, "community_name": "Credentials & User Repository", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_deps_get_current_superuser", "label": "get_current_superuser()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_current_superuser()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/api/deps.py", "file_type": "code", "degree": 4}, {"id": "app_api_deps_py_currentuser", "label": "CurrentUser", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 27, "community_name": "Credentials & User Repository", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_deps_get_streaming_user", "label": "get_streaming_user()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_streaming_user()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/api/deps.py", "file_type": "code", "degree": 6}, {"id": "app_api_deps_get_subsonic_user", "label": "get_subsonic_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_subsonic_user()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 4}, {"id": "app_api_deps_py_subsonicauthservicedep", "label": "SubsonicAuthServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicAuthServiceDep", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_deps_py_query", "label": "Query", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_deps_get_subsonic_format", "label": "get_subsonic_format()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_subsonic_format()", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "code", "degree": 3}, {"id": "app_api_deps_rationale_1", "label": "Shared FastAPI dependencies \u2014 the composition root for request-scoped wiring. C", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared FastAPI dependencies \u2014 the composition root for request-scoped wiring. C", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_deps_rationale_51", "label": "Request-scoped DB session. Commits on success, rolls back on exception.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Request-scoped DB session. Commits on success, rolls back on exception.", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_deps_rationale_143", "label": "Wires the \u00a76.2 fingerprint/AcoustID adapters for read-only, inline use (the", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Wires the \u00a76.2 fingerprint/AcoustID adapters for read-only, inline use (the", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_deps_rationale_255", "label": "Authenticate a stream request. The browser ``<audio>`` element cannot send", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Authenticate a stream request. The browser ``&lt;audio&gt;`` element cannot send", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/api/deps.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_deps_rationale_289", "label": "The requested response format (``f``): ``xml`` (default) or ``json``.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The requested response format (``f``): ``xml`` (default) or ``json``.", "community": 11, "community_name": "Dependency Wiring (deps.py)", "source_file": "app/api/deps.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_errors", "label": "errors.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "errors.py", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/errors.py", "file_type": "code", "degree": 21}, {"id": "app_api_errors_is_subsonic", "label": "_is_subsonic()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_is_subsonic()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/errors.py", "file_type": "code", "degree": 2}, {"id": "request", "label": "Request", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Request", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_errors_error_body", "label": "_error_body()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "_error_body()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/errors.py", "file_type": "code", "degree": 1}, {"id": "app_api_errors_register_exception_handlers", "label": "register_exception_handlers()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "register_exception_handlers()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/errors.py", "file_type": "code", "degree": 7}, {"id": "app_api_errors_py_fastapi", "label": "FastAPI", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_errors_rationale_1", "label": "Maps domain exceptions to HTTP responses. The only place that knows both. Two s", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Maps domain exceptions to HTTP responses. The only place that knows both. Two s", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_health", "label": "health.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "health.py", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 16}, {"id": "app_api_health_healthresponse", "label": "HealthResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "HealthResponse", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 3}, {"id": "app_api_health_py_basemodel", "label": "BaseModel", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_health_readinessresponse", "label": "ReadinessResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ReadinessResponse", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 3}, {"id": "app_api_health_health", "label": "health()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "health()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 2}, {"id": "app_api_health_check_db", "label": "_check_db()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_check_db()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 4}, {"id": "checkstatus", "label": "CheckStatus", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CheckStatus", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_health_check_redis", "label": "_check_redis()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_check_redis()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 4}, {"id": "app_api_health_check_ml", "label": "_check_ml()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_check_ml()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 4}, {"id": "app_api_health_readiness", "label": "readiness()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "readiness()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "code", "degree": 6}, {"id": "app_api_health_py_response", "label": "Response", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_health_rationale_1", "label": "Health & readiness endpoints \u2014 used by compose healthchecks and the admin UI. *", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Health &amp; readiness endpoints \u2014 used by compose healthchecks and the admin UI. *", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/api/health.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_middleware", "label": "middleware.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "middleware.py", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "code", "degree": 5}, {"id": "app_api_middleware_correlationidmiddleware", "label": "CorrelationIdMiddleware", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "CorrelationIdMiddleware", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "code", "degree": 6}, {"id": "app_api_middleware_correlationidmiddleware_init", "label": ".__init__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "code", "degree": 2}, {"id": "asgiapp", "label": "ASGIApp", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ASGIApp", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_middleware_correlationidmiddleware_call", "label": ".__call__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".__call__()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "code", "degree": 4}, {"id": "scope", "label": "Scope", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Scope", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "receive", "label": "Receive", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Receive", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "send", "label": "Send", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Send", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_middleware_rationale_1", "label": "HTTP middleware: bind a correlation id and log each request.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTP middleware: bind a correlation id and log each request.", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_middleware_rationale_16", "label": "Pure-ASGI middleware: reuse inbound ``X-Correlation-Id`` or mint one, bind i", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Pure-ASGI middleware: reuse inbound ``X-Correlation-Id`` or mint one, bind i", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/api/middleware.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_init", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/__init__.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_init_rationale_1", "label": "Subsonic-compatible API layer mounted at /rest.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic-compatible API layer mounted at /rest.", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_annotation", "label": "annotation.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "annotation.py", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/annotation.py", "file_type": "code", "degree": 13}, {"id": "app_api_rest_annotation_star", "label": "star()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "star()", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "app/api/rest/annotation.py", "file_type": "code", "degree": 10}, {"id": "app_api_rest_annotation_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_annotation_py_subsonicformat", "label": "SubsonicFormat", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicFormat", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_annotation_py_likerepodep", "label": "LikeRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeRepoDep", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_annotation_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_annotation_py_query", "label": "Query", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_annotation_py_response", "label": "Response", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_annotation_unstar", "label": "unstar()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "unstar()", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "app/api/rest/annotation.py", "file_type": "code", "degree": 10}, {"id": "app_api_rest_annotation_set_rating", "label": "set_rating()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "set_rating()", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "app/api/rest/annotation.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_annotation_py_ge", "label": "ge", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ge", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_annotation_py_le", "label": "le", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "le", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_annotation_scrobble", "label": "scrobble()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "scrobble()", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "app/api/rest/annotation.py", "file_type": "code", "degree": 10}, {"id": "app_api_rest_annotation_py_historyrepodep", "label": "HistoryRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "HistoryRepoDep", "community": 46, "community_name": "Shared Query Param Annotations", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_annotation_rationale_1", "label": "Subsonic annotation endpoints: star/unstar, rating, scrobble. * ``star``/``unst", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic annotation endpoints: star/unstar, rating, scrobble. * ``star``/``unst", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/annotation.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_browsing", "label": "browsing.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "browsing.py", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 33}, {"id": "app_api_rest_browsing_artists_index", "label": "_artists_index()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_artists_index()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_browsing_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 11}, {"id": "app_api_rest_browsing_py_any", "label": "Any", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_browsing_albums_for_artist", "label": "_albums_for_artist()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_albums_for_artist()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 6}, {"id": "app_api_rest_browsing_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 9}, {"id": "app_api_rest_browsing_get_music_folders", "label": "get_music_folders()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_music_folders()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 5}, {"id": "app_api_rest_browsing_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_api_rest_browsing_py_subsonicformat", "label": "SubsonicFormat", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicFormat", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_api_rest_browsing_py_response", "label": "Response", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_api_rest_browsing_get_indexes", "label": "get_indexes()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_indexes()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_browsing_get_artists", "label": "get_artists()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artists()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_browsing_get_artist", "label": "get_artist()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artist()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 12}, {"id": "app_api_rest_browsing_py_query", "label": "Query", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_rest_browsing_get_album", "label": "get_album()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 13}, {"id": "app_api_rest_browsing_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_browsing_get_album_list", "label": "get_album_list()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album_list()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 11}, {"id": "app_api_rest_browsing_py_ge", "label": "ge", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ge", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_browsing_py_le", "label": "le", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "le", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_browsing_get_album_list2", "label": "get_album_list2()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album_list2()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 11}, {"id": "app_api_rest_browsing_list_albums", "label": "_list_albums()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_list_albums()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_browsing_decorate_albums", "label": "_decorate_albums()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_decorate_albums()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_browsing_get_song", "label": "get_song()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_song()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 12}, {"id": "app_api_rest_browsing_get_genres", "label": "get_genres()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_genres()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 6}, {"id": "app_api_rest_browsing_get_music_directory", "label": "get_music_directory()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "get_music_directory()", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "code", "degree": 15}, {"id": "app_api_rest_browsing_rationale_1", "label": "Subsonic browsing endpoints \u2014 thin adapters over the library repositories. A si", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic browsing endpoints \u2014 thin adapters over the library repositories. A si", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_browsing_rationale_26", "label": "Group artists into Subsonic A-Z index buckets, each with an album count.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Group artists into Subsonic A-Z index buckets, each with an album count.", "community": 29, "community_name": "Subsonic Browsing Endpoints", "source_file": "app/api/rest/browsing.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_envelope", "label": "envelope.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "envelope.py", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 15}, {"id": "app_api_rest_envelope_is_json", "label": "_is_json()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_is_json()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 2}, {"id": "app_api_rest_envelope_scalar", "label": "_scalar()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_scalar()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 2}, {"id": "app_api_rest_envelope_build_xml", "label": "_build_xml()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_xml()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 5}, {"id": "app_api_rest_envelope_py_element", "label": "Element", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Element", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_envelope_py_any", "label": "Any", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_envelope_strip_none", "label": "_strip_none()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_strip_none()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 4}, {"id": "app_api_rest_envelope_render", "label": "_render()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_render()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_envelope_py_response", "label": "Response", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_envelope_subsonic_response", "label": "subsonic_response()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 20.9, "font": {"size": 12, "color": "#ffffff"}, "title": "subsonic_response()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 37}, {"id": "app_api_rest_envelope_subsonic_error", "label": "subsonic_error()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "subsonic_error()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_envelope_rationale_1", "label": "The Subsonic response envelope \u2014 one serializer, two wire formats. Every Subson", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The Subsonic response envelope \u2014 one serializer, two wire formats. Every Subson", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_envelope_rationale_61", "label": "Recursively drop ``None`` values so JSON output matches XML (no empty attrs).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Recursively drop ``None`` values so JSON output matches XML (no empty attrs).", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_envelope_rationale_92", "label": "A successful ``status=\"ok\"`` envelope wrapping ``payload``.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A successful ``status=&quot;ok&quot;`` envelope wrapping ``payload``.", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_envelope_rationale_100", "label": "A ``status=\"failed\"`` envelope carrying a Subsonic ``<error>``.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A ``status=&quot;failed&quot;`` envelope carrying a Subsonic ``&lt;error&gt;``.", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/envelope.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_ids", "label": "ids.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "ids.py", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 22}, {"id": "app_api_rest_ids_idkind", "label": "IdKind", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "IdKind", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 9}, {"id": "strenum", "label": "StrEnum", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StrEnum", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_ids_encode", "label": "encode()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "encode()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_ids_py_uuid", "label": "UUID", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 12}, {"id": "app_api_rest_ids_encode_track", "label": "encode_track()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "encode_track()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 5}, {"id": "app_api_rest_ids_encode_album", "label": "encode_album()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "encode_album()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_ids_encode_artist", "label": "encode_artist()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "encode_artist()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_ids_encode_playlist", "label": "encode_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "encode_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 6}, {"id": "app_api_rest_ids_parse", "label": "parse()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "parse()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 13}, {"id": "app_api_rest_ids_decode_as", "label": "_decode_as()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_decode_as()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_ids_decode_track", "label": "decode_track()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "decode_track()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 13}, {"id": "app_api_rest_ids_decode_album", "label": "decode_album()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "decode_album()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 3}, {"id": "app_api_rest_ids_decode_artist", "label": "decode_artist()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "decode_artist()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 3}, {"id": "app_api_rest_ids_decode_playlist", "label": "decode_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "decode_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/ids.py", "file_type": "code", "degree": 6}, {"id": "app_api_rest_ids_rationale_1", "label": "Stable, reversible mapping between Subsonic opaque string ids and our UUIDs. Su", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Stable, reversible mapping between Subsonic opaque string ids and our UUIDs. Su", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_ids_rationale_44", "label": "Decode any prefixed id into its kind + UUID. Raises ``NotFoundError`` on a m", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Decode any prefixed id into its kind + UUID. Raises ``NotFoundError`` on a m", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/ids.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_media", "label": "media.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "media.py", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/media.py", "file_type": "code", "degree": 18}, {"id": "app_api_rest_media_stream", "label": "stream()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "stream()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/media.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_media_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_media_py_streamingservicedep", "label": "StreamingServiceDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingServiceDep", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_media_py_query", "label": "Query", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_media_py_header", "label": "Header", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Header", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_media_py_alias", "label": "alias", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "alias", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_media_py_streamingresponse", "label": "StreamingResponse", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingResponse", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_media_download", "label": "download()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "download()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/media.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_media_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_media_get_cover_art", "label": "get_cover_art()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_cover_art()", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/media.py", "file_type": "code", "degree": 10}, {"id": "app_api_rest_media_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_media_py_filestoragedep", "label": "FileStorageDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FileStorageDep", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_media_py_response", "label": "Response", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_media_rationale_1", "label": "Subsonic media endpoints: stream, download, cover art. ``stream`` and ``downloa", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic media endpoints: stream, download, cover art. ``stream`` and ``downloa", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/api/rest/media.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_playlists", "label": "playlists.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "playlists.py", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 25}, {"id": "app_api_rest_playlists_playlist_dict", "label": "_playlist_dict()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_playlist_dict()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_playlists_py_any", "label": "Any", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_playlists_owned_playlist", "label": "_owned_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_owned_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 11}, {"id": "app_api_rest_playlists_py_playlistrepodep", "label": "PlaylistRepoDep", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistRepoDep", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 7}, {"id": "app_api_rest_playlists_playlist_songs", "label": "_playlist_songs()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_playlist_songs()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_playlists_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_playlists_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_playlists_get_playlists", "label": "get_playlists()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlists()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_playlists_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_rest_playlists_py_subsonicformat", "label": "SubsonicFormat", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicFormat", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_rest_playlists_py_response", "label": "Response", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_rest_playlists_get_playlist", "label": "get_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 12}, {"id": "app_api_rest_playlists_py_query", "label": "Query", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 43, "community_name": "Playlist Endpoints", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_rest_playlists_create_playlist", "label": "create_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "create_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 14}, {"id": "app_api_rest_playlists_update_playlist", "label": "update_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "update_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_playlists_delete_playlist", "label": "delete_playlist()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_playlist()", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_playlists_rationale_1", "label": "Subsonic playlist endpoints \u2014 adapters over the playlist repository. Playlists", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic playlist endpoints \u2014 adapters over the playlist repository. Playlists", "community": 43, "community_name": "Playlist Endpoints", "source_file": "app/api/rest/playlists.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_search", "label": "search.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "search.py", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/search.py", "file_type": "code", "degree": 10}, {"id": "app_api_rest_search_search3", "label": "search3()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "search3()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/search.py", "file_type": "code", "degree": 14}, {"id": "app_api_rest_search_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_subsonicformat", "label": "SubsonicFormat", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicFormat", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_query", "label": "Query", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Query", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_ge", "label": "ge", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ge", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_le", "label": "le", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "le", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_py_response", "label": "Response", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_rest_search_rationale_1", "label": "Subsonic search endpoints \u2014 search3 over the library repositories. Mirrors the", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic search endpoints \u2014 search3 over the library repositories. Mirrors the", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_serializers", "label": "serializers.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "serializers.py", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 17}, {"id": "app_api_rest_serializers_iso", "label": "iso()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "iso()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 8}, {"id": "app_api_rest_serializers_py_datetime", "label": "datetime", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_serializers_content_type_for", "label": "content_type_for()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "content_type_for()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 2}, {"id": "app_api_rest_serializers_artist_dict", "label": "artist_dict()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "artist_dict()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 9}, {"id": "app_api_rest_serializers_py_any", "label": "Any", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_rest_serializers_album_dict", "label": "album_dict()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "album_dict()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 13}, {"id": "app_api_rest_serializers_song_dict", "label": "song_dict()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "song_dict()", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "code", "degree": 18}, {"id": "app_api_rest_serializers_rationale_1", "label": "Entity \u2192 Subsonic child-dict mappers (presentation only). Pure functions turnin", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Entity \u2192 Subsonic child-dict mappers (presentation only). Pure functions turnin", "community": 35, "community_name": "Subsonic Search Encoding", "source_file": "app/api/rest/serializers.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_rest_system", "label": "system.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "system.py", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/system.py", "file_type": "code", "degree": 7}, {"id": "app_api_rest_system_ping", "label": "ping()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ping()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/system.py", "file_type": "code", "degree": 5}, {"id": "app_api_rest_system_py_subsonicuser", "label": "SubsonicUser", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicUser", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_system_py_subsonicformat", "label": "SubsonicFormat", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicFormat", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_system_py_response", "label": "Response", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_rest_system_get_license", "label": "get_license()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_license()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/system.py", "file_type": "code", "degree": 5}, {"id": "app_api_rest_system_rationale_1", "label": "Subsonic system endpoints: ping and license.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic system endpoints: ping and license.", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "app/api/rest/system.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_init", "label": "__init__.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 90, "community_name": "Package: app.api.schemas", "source_file": "app/api/schemas/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_init_rationale_1", "label": "Pydantic request/response models for the native REST API (``/api/v1``).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Pydantic request/response models for the native REST API (``/api/v1``).", "community": 90, "community_name": "Package: app.api.schemas", "source_file": "app/api/schemas/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_album", "label": "album.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "album.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/album.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_album_albumout", "label": "AlbumOut", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumOut", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/album.py", "file_type": "code", "degree": 11}, {"id": "app_api_schemas_album_py_basemodel", "label": "BaseModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_album_rationale_1", "label": "Album request/response schemas.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Album request/response schemas.", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/album.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_artist", "label": "artist.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "artist.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/artist.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_artist_artistout", "label": "ArtistOut", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistOut", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/artist.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_artist_py_basemodel", "label": "BaseModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_artist_rationale_1", "label": "Artist request/response schemas.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Artist request/response schemas.", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/artist.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_auth", "label": "auth.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "auth.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_auth_loginrequest", "label": "LoginRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "LoginRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_auth_py_basemodel", "label": "BaseModel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_auth_registerrequest", "label": "RegisterRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "RegisterRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_auth_refreshrequest", "label": "RefreshRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "RefreshRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_auth_tokenresponse", "label": "TokenResponse", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TokenResponse", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_auth_rationale_1", "label": "Auth request/response schemas. Tokens are returned in the body (the client store", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Auth request/response schemas. Tokens are returned in the body (the client store", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/auth.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_download", "label": "download.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "download.py", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_download_downloadcreate", "label": "DownloadCreate", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadCreate", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_download_py_basemodel", "label": "BaseModel", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_schemas_download_downloadjobout", "label": "DownloadJobOut", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadJobOut", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "code", "degree": 16}, {"id": "app_api_schemas_download_downloadjobout_from_entity", "label": ".from_entity()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".from_entity()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_download_downloadcreateresponse", "label": "DownloadCreateResponse", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadCreateResponse", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_download_rationale_1", "label": "Schemas for the download job endpoints (\u00a7A5 download manager).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Schemas for the download job endpoints (\u00a7A5 download manager).", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_download_rationale_12", "label": "Request to download an item discovered on a fetch source.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Request to download an item discovered on a fetch source.", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_download_rationale_51", "label": "Result of requesting a download. ``already_in_library`` \u2192 the item was alre", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Result of requesting a download. ``already_in_library`` \u2192 the item was alre", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/schemas/download.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_external_search", "label": "external_search.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "external_search.py", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/api/schemas/external_search.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_external_search_externalsearchresultout", "label": "ExternalSearchResultOut", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ExternalSearchResultOut", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/external_search.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_external_search_py_basemodel", "label": "BaseModel", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_schemas_external_search_externalsearchresultout_from_entity", "label": ".from_entity()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".from_entity()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/external_search.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_external_search_externalsearchresponse", "label": "ExternalSearchResponse", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ExternalSearchResponse", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/external_search.py", "file_type": "code", "degree": 8}, {"id": "app_api_schemas_external_search_rationale_1", "label": "Schemas for searching external (fetch) sources \u2014 the \u00a7A4 discover screen.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Schemas for searching external (fetch) sources \u2014 the \u00a7A4 discover screen.", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/api/schemas/external_search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_external_search_rationale_44", "label": "Flat list of hits across one or more searchable sources, plus the names of s", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Flat list of hits across one or more searchable sources, plus the names of s", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/external_search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_history", "label": "history.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "history.py", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/schemas/history.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_history_historyin", "label": "HistoryIn", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HistoryIn", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/schemas/history.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_history_py_basemodel", "label": "BaseModel", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 57, "community_name": "Play History Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_schemas_history_historyout", "label": "HistoryOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HistoryOut", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/schemas/history.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_history_rationale_1", "label": "Play history request/response schemas.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Play history request/response schemas.", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/schemas/history.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_like", "label": "like.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "like.py", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/schemas/like.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_like_likeevent", "label": "LikeEvent", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeEvent", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/schemas/like.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_like_py_basemodel", "label": "BaseModel", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_schemas_like_likestate", "label": "LikeState", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeState", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/schemas/like.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_like_rationale_1", "label": "Like request/response schemas.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Like request/response schemas.", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/schemas/like.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_pagination", "label": "pagination.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "pagination.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/pagination.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_pagination_pagedresponse", "label": "PagedResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "PagedResponse", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/pagination.py", "file_type": "code", "degree": 20}, {"id": "app_api_schemas_pagination_py_basemodel", "label": "BaseModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_pagination_rationale_1", "label": "Shared pagination envelope for all paged list responses.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared pagination envelope for all paged list responses.", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/pagination.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_playlist", "label": "playlist.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "playlist.py", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_playlist_playlistout", "label": "PlaylistOut", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistOut", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_playlist_py_basemodel", "label": "BaseModel", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_playlist_playlistcreate", "label": "PlaylistCreate", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistCreate", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_playlist_playlistupdate", "label": "PlaylistUpdate", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistUpdate", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_playlist_playlistaddtrack", "label": "PlaylistAddTrack", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistAddTrack", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_playlist_playlistreorder", "label": "PlaylistReorder", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistReorder", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_playlist_rationale_1", "label": "Playlist request/response schemas.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Playlist request/response schemas.", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/schemas/playlist.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_search", "label": "search.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "search.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/search.py", "file_type": "code", "degree": 9}, {"id": "app_api_schemas_search_librarysearchresponse", "label": "LibrarySearchResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "LibrarySearchResponse", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/search.py", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_search_py_basemodel", "label": "BaseModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_search_rationale_1", "label": "Search response schemas.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Search response schemas.", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/schemas/search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_source", "label": "source.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "source.py", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_source_sourceinfoout", "label": "SourceInfoOut", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "SourceInfoOut", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_source_py_basemodel", "label": "BaseModel", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_schemas_source_sourceinfoout_from_entity", "label": ".from_entity()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".from_entity()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "code", "degree": 3}, {"id": "app_api_schemas_source_scanresponse", "label": "ScanResponse", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ScanResponse", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_source_sourcehealthout", "label": "SourceHealthOut", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SourceHealthOut", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_source_rationale_1", "label": "Schemas for the source endpoints.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Schemas for the source endpoints.", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_source_rationale_20", "label": "Result of enqueuing a source scan.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Result of enqueuing a source scan.", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/schemas/source.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_storage", "label": "storage.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "storage.py", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_storage_diskusageout", "label": "DiskUsageOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DiskUsageOut", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_storage_py_basemodel", "label": "BaseModel", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_storage_formatbreakdownout", "label": "FormatBreakdownOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FormatBreakdownOut", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_storage_genrecountout", "label": "GenreCountOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GenreCountOut", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_storage_storagestatsout", "label": "StorageStatsOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "StorageStatsOut", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_storage_rationale_1", "label": "Storage / library statistics response schemas (\u00a7A6).", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Storage / library statistics response schemas (\u00a7A6).", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_storage_rationale_26", "label": "Everything the Storage screen needs in a single call.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Everything the Storage screen needs in a single call.", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/schemas/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_subsonic", "label": "subsonic.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "subsonic.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/subsonic.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "SubsonicPasswordResponse", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicPasswordResponse", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/subsonic.py", "file_type": "code", "degree": 8}, {"id": "app_api_schemas_subsonic_py_basemodel", "label": "BaseModel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_subsonic_rationale_1", "label": "Schemas for Subsonic app-password self-service (native /api/v1 surface). The Su", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Schemas for Subsonic app-password self-service (native /api/v1 surface). The Su", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/subsonic.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_subsonic_rationale_11", "label": "The plaintext Subsonic app-password, for pasting into a client.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The plaintext Subsonic app-password, for pasting into a client.", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/subsonic.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_track", "label": "track.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "track.py", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 17}, {"id": "app_api_schemas_track_trackout", "label": "TrackOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "TrackOut", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 21}, {"id": "app_api_schemas_track_py_basemodel", "label": "BaseModel", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 7}, {"id": "app_api_schemas_track_trackupdate", "label": "TrackUpdate", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackUpdate", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_track_metadatamatch", "label": "MetadataMatch", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataMatch", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_track_metadatamatchesout", "label": "MetadataMatchesOut", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataMatchesOut", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_track_metadataapply", "label": "MetadataApply", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataApply", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_track_remotetracksave", "label": "RemoteTrackSave", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "RemoteTrackSave", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_track_materializeresponse", "label": "MaterializeResponse", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "MaterializeResponse", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "code", "degree": 6}, {"id": "app_api_schemas_track_rationale_1", "label": "Track request/response schemas.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Track request/response schemas.", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_track_rationale_40", "label": "One AcoustID candidate for the metadata editor's match picker (\u00a7A7).", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "One AcoustID candidate for the metadata editor&#x27;s match picker (\u00a7A7).", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_track_rationale_57", "label": "Manual edits / accepted match applied via ``PUT /tracks/{id}/metadata``. Se", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Manual edits / accepted match applied via ``PUT /tracks/{id}/metadata``. Se", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_track_rationale_70", "label": "Save a remote browse hit (\u00a7A4 discover) as a library placeholder \u2014 ``availab", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Save a remote browse hit (\u00a7A4 discover) as a library placeholder \u2014 ``availab", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_track_rationale_80", "label": "Result of requesting that a placeholder track's audio be fetched. ``job`` i", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Result of requesting that a placeholder track&#x27;s audio be fetched. ``job`` i", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/schemas/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_upload", "label": "upload.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "upload.py", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/schemas/upload.py", "file_type": "code", "degree": 3}, {"id": "app_api_schemas_upload_uploadresponse", "label": "UploadResponse", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadResponse", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/schemas/upload.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_upload_py_basemodel", "label": "BaseModel", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 65, "community_name": "Upload Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_schemas_upload_rationale_1", "label": "Schemas for upload responses.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Schemas for upload responses.", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/schemas/upload.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_user", "label": "user.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "user.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 10}, {"id": "app_api_schemas_user_userresponse", "label": "UserResponse", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UserResponse", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 11}, {"id": "app_api_schemas_user_py_basemodel", "label": "BaseModel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseModel", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_user_userresponse_from_entity", "label": ".from_entity()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".from_entity()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 8}, {"id": "app_api_schemas_user_createuserrequest", "label": "CreateUserRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "CreateUserRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_user_updateuserrequest", "label": "UpdateUserRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UpdateUserRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 5}, {"id": "app_api_schemas_user_resetpasswordrequest", "label": "ResetPasswordRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ResetPasswordRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_user_changepasswordrequest", "label": "ChangePasswordRequest", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangePasswordRequest", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "code", "degree": 4}, {"id": "app_api_schemas_user_rationale_1", "label": "User schemas. ``password_hash`` is never exposed \u2014 only ``UserResponse`` fields", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User schemas. ``password_hash`` is never exposed \u2014 only ``UserResponse`` fields", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_schemas_user_rationale_34", "label": "Admin patch \u2014 every field optional; only provided ones change.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Admin patch \u2014 every field optional; only provided ones change.", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/schemas/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_init", "label": "__init__.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__.py", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/__init__.py", "file_type": "code", "degree": 20}, {"id": "app_api_v1_init_rationale_1", "label": "Native REST API, version 1. Aggregates feature routers under ``/api/v1``.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Native REST API, version 1. Aggregates feature routers under ``/api/v1``.", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_admin", "label": "admin.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "admin.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 24}, {"id": "app_api_v1_admin_list_users", "label": "list_users()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_users()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_admin_py_superuser", "label": "SuperUser", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "SuperUser", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 13}, {"id": "app_api_v1_admin_py_userservicedep", "label": "UserServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "UserServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_v1_admin_create_user", "label": "create_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "create_user()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_admin_get_user", "label": "get_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_user()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_admin_py_uuid", "label": "UUID", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_v1_admin_update_user", "label": "update_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "update_user()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 8}, {"id": "app_api_v1_admin_reset_password", "label": "reset_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "reset_password()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_admin_deactivate_user", "label": "deactivate_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "deactivate_user()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_admin_rotate_user_subsonic_password", "label": "rotate_user_subsonic_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "rotate_user_subsonic_password()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_admin_py_subsonicauthservicedep", "label": "SubsonicAuthServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicAuthServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_admin_list_services", "label": "list_services()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "list_services()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_py_any", "label": "Any", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_v1_admin_list_admin_sources", "label": "list_admin_sources()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "list_admin_sources()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_update_admin_source", "label": "update_admin_source()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "update_admin_source()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_trigger_reindex", "label": "trigger_reindex()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "trigger_reindex()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_get_admin_settings", "label": "get_admin_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_admin_settings()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_update_admin_settings", "label": "update_admin_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "update_admin_settings()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_admin_rationale_1", "label": "Admin endpoints: user management, services, sources, reindex, settings. Registr", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Admin endpoints: user management, services, sources, reindex, settings. Registr", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_admin_rationale_81", "label": "Soft delete \u2014 deactivates the account and revokes its sessions.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Soft delete \u2014 deactivates the account and revokes its sessions.", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_admin_rationale_89", "label": "Rotate any user's Subsonic app-password and return the new plaintext.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Rotate any user&#x27;s Subsonic app-password and return the new plaintext.", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/admin.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_albums", "label": "albums.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "albums.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 26}, {"id": "app_api_v1_albums_build_album_out", "label": "_build_album_out()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_album_out()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 11}, {"id": "app_api_v1_albums_py_uuid", "label": "UUID", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_v1_albums_list_albums", "label": "list_albums()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "list_albums()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 8}, {"id": "app_api_v1_albums_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_albums_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_albums_py_currentuser", "label": "CurrentUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_albums_get_album", "label": "get_album()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 8}, {"id": "app_api_v1_albums_get_album_tracks", "label": "get_album_tracks()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album_tracks()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_albums_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_albums_get_album_cover", "label": "get_album_cover()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "get_album_cover()", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/v1/albums.py", "file_type": "code", "degree": 8}, {"id": "app_api_v1_albums_py_filestoragedep", "label": "FileStorageDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FileStorageDep", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_albums_py_streamuser", "label": "StreamUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamUser", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_albums_py_streamingresponse", "label": "StreamingResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingResponse", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_artists", "label": "artists.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "artists.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 22}, {"id": "app_api_v1_artists_list_artists", "label": "list_artists()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_artists()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_artists_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_artists_py_currentuser", "label": "CurrentUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_v1_artists_get_artist", "label": "get_artist()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artist()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_artists_py_uuid", "label": "UUID", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_v1_artists_get_artist_albums", "label": "get_artist_albums()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artist_albums()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_artists_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_artists_get_artist_tracks", "label": "get_artist_tracks()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_artist_tracks()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_artists_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_artists_get_similar_artists", "label": "get_similar_artists()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_similar_artists()", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/artists.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_artists_py_any", "label": "Any", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_auth", "label": "auth.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "auth.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 22}, {"id": "app_api_v1_auth_to_token_response", "label": "_to_token_response()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_token_response()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_auth_login", "label": "login()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "login()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_auth_py_authservicedep", "label": "AuthServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_auth_register", "label": "register()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "register()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_auth_py_userservicedep", "label": "UserServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "UserServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_auth_refresh", "label": "refresh()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "refresh()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_auth_logout", "label": "logout()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "logout()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 3}, {"id": "app_api_v1_auth_me", "label": "me()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "me()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_auth_py_currentuser", "label": "CurrentUser", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_auth_rationale_1", "label": "Auth endpoints: login, refresh (rotation), logout, and current-user.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Auth endpoints: login, refresh (rotation), logout, and current-user.", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_auth_rationale_37", "label": "Public self-service sign-up (gated by ``ALLOW_REGISTRATION``). Registered a", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Public self-service sign-up (gated by ``ALLOW_REGISTRATION``). Registered a", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/auth.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_downloads", "label": "downloads.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "downloads.py", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 15}, {"id": "app_api_v1_downloads_list_downloads", "label": "list_downloads()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "list_downloads()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 6}, {"id": "downloadservicedep", "label": "DownloadServiceDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadServiceDep", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_v1_downloads_py_currentuser", "label": "CurrentUser", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_api_v1_downloads_create_download", "label": "create_download()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "create_download()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_downloads_get_download", "label": "get_download()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "get_download()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_downloads_py_uuid", "label": "UUID", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_downloads_cancel_download", "label": "cancel_download()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "cancel_download()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_downloads_py_response", "label": "Response", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_downloads_retry_download", "label": "retry_download()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "retry_download()", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_downloads_rationale_1", "label": "Download job endpoints (\u00a7A5). Heavy work is dispatched to arq workers \u2014 these ha", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Download job endpoints (\u00a7A5). Heavy work is dispatched to arq workers \u2014 these ha", "community": 40, "community_name": "Download Request/Response Schemas", "source_file": "app/api/v1/downloads.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_history", "label": "history.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "history.py", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/v1/history.py", "file_type": "code", "degree": 12}, {"id": "app_api_v1_history_record_history", "label": "record_history()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "record_history()", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/v1/history.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_history_py_historyrepodep", "label": "HistoryRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "HistoryRepoDep", "community": 57, "community_name": "Play History Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_history_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 57, "community_name": "Play History Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_history_py_currentuser", "label": "CurrentUser", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 57, "community_name": "Play History Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_history_py_response", "label": "Response", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 57, "community_name": "Play History Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_history_get_history", "label": "get_history()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_history()", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/v1/history.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_history_rationale_1", "label": "Playback history endpoints.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Playback history endpoints.", "community": 57, "community_name": "Play History Schemas", "source_file": "app/api/v1/history.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_likes", "label": "likes.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "likes.py", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/v1/likes.py", "file_type": "code", "degree": 15}, {"id": "app_api_v1_likes_add_like", "label": "add_like()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "add_like()", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/v1/likes.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_likes_py_likerepodep", "label": "LikeRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeRepoDep", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_likes_py_currentuser", "label": "CurrentUser", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_likes_get_likes", "label": "get_likes()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "get_likes()", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/v1/likes.py", "file_type": "code", "degree": 8}, {"id": "app_api_v1_likes_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_likes_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_likes_get_likes_state", "label": "get_likes_state()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_likes_state()", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/v1/likes.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_likes_rationale_1", "label": "Like endpoints. Likes are an append-only event-log \u2014 never updated in place.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Like endpoints. Likes are an append-only event-log \u2014 never updated in place.", "community": 69, "community_name": "Like Request/Response Schemas", "source_file": "app/api/v1/likes.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_playlists", "label": "playlists.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 20.0, "font": {"size": 12, "color": "#ffffff"}, "title": "playlists.py", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 34}, {"id": "app_api_v1_playlists_build_playlist_out", "label": "_build_playlist_out()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_playlist_out()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_playlists_list_playlists", "label": "list_playlists()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "list_playlists()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_playlists_py_playlistrepodep", "label": "PlaylistRepoDep", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistRepoDep", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 9}, {"id": "app_api_v1_playlists_py_currentuser", "label": "CurrentUser", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_api_v1_playlists_create_playlist", "label": "create_playlist()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "create_playlist()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_playlists_get_playlist", "label": "get_playlist()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_playlists_py_uuid", "label": "UUID", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 9}, {"id": "app_api_v1_playlists_update_playlist", "label": "update_playlist()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "update_playlist()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_playlists_delete_playlist", "label": "delete_playlist()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_playlist()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_playlists_py_response", "label": "Response", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_playlists_get_playlist_tracks", "label": "get_playlist_tracks()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist_tracks()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_playlists_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_playlists_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_playlists_add_playlist_track", "label": "add_playlist_track()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "add_playlist_track()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_playlists_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_playlists_remove_playlist_track", "label": "remove_playlist_track()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "remove_playlist_track()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_playlists_reorder_playlist_tracks", "label": "reorder_playlist_tracks()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "reorder_playlist_tracks()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_playlists_get_playlist_cover", "label": "get_playlist_cover()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_playlist_cover()", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/api/v1/playlists.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_playlists_py_any", "label": "Any", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_radio", "label": "radio.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "radio.py", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/radio.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_radio_start_radio", "label": "start_radio()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "start_radio()", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/radio.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_radio_py_any", "label": "Any", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 59, "community_name": "Radio Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_radio_next_radio_track", "label": "next_radio_track()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "next_radio_track()", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/radio.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_radio_rationale_1", "label": "Radio / continuous-mix endpoints. Degrades gracefully when ML service is down.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Radio / continuous-mix endpoints. Degrades gracefully when ML service is down.", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/radio.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_search", "label": "search.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "search.py", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/search.py", "file_type": "code", "degree": 20}, {"id": "app_api_v1_search_search", "label": "search()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "search()", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "app/api/v1/search.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_search_py_currentuser", "label": "CurrentUser", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_search_py_sourceregistrydep", "label": "SourceRegistryDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SourceRegistryDep", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_search_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_search_search_library", "label": "search_library()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "search_library()", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "app/api/v1/search.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_search_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_search_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_search_rationale_1", "label": "Search endpoints: global and library-scoped.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Search endpoints: global and library-scoped.", "community": 16, "community_name": "Album/Search Response Schemas", "source_file": "app/api/v1/search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_search_rationale_25", "label": "Search every available fetch source and merge the hits (\u00a7A4 discover). A so", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Search every available fetch source and merge the hits (\u00a7A4 discover). A so", "community": 110, "community_name": "App-Passwords Mechanism (doc)", "source_file": "app/api/v1/search.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_sources", "label": "sources.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "sources.py", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "code", "degree": 18}, {"id": "app_api_v1_sources_list_sources", "label": "list_sources()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_sources()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_sources_py_currentuser", "label": "CurrentUser", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_sources_py_sourceregistrydep", "label": "SourceRegistryDep", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SourceRegistryDep", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_sources_scan_source", "label": "scan_source()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "scan_source()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_sources_py_superuser", "label": "SuperUser", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SuperUser", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_sources_source_health", "label": "source_health()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "source_health()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_sources_search_source", "label": "search_source()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "search_source()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_sources_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_sources_rationale_1", "label": "External source endpoints: enumerate sources, search, and trigger imports. List", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "External source endpoints: enumerate sources, search, and trigger imports. List", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/api/v1/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_storage", "label": "storage.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "storage.py", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 13}, {"id": "app_api_v1_storage_get_storage_stats", "label": "get_storage_stats()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_storage_stats()", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 11}, {"id": "app_api_v1_storage_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_storage_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_storage_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_storage_py_filestoragedep", "label": "FileStorageDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FileStorageDep", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_storage_py_currentuser", "label": "CurrentUser", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_storage_get_duplicates", "label": "get_duplicates()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_duplicates()", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_storage_py_any", "label": "Any", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_storage_get_broken_files", "label": "get_broken_files()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_broken_files()", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_storage_get_missing_metadata", "label": "get_missing_metadata()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_missing_metadata()", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_storage_run_cleanup", "label": "run_cleanup()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "run_cleanup()", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_storage_rationale_1", "label": "Storage analysis and cleanup endpoints.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Storage analysis and cleanup endpoints.", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_storage_rationale_35", "label": "Library + disk statistics for the Storage dashboard (\u00a7A6). Aggregates come", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Library + disk statistics for the Storage dashboard (\u00a7A6). Aggregates come", "community": 37, "community_name": "Storage Stats Response Schemas", "source_file": "app/api/v1/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_streaming", "label": "streaming.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "streaming.py", "community": 70, "community_name": "Streaming Endpoint", "source_file": "app/api/v1/streaming.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_streaming_stream_track", "label": "stream_track()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "stream_track()", "community": 70, "community_name": "Streaming Endpoint", "source_file": "app/api/v1/streaming.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_streaming_py_uuid", "label": "UUID", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_streaming_py_streamingservicedep", "label": "StreamingServiceDep", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingServiceDep", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_streaming_py_streamuser", "label": "StreamUser", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamUser", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_streaming_py_header", "label": "Header", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Header", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_streaming_py_alias", "label": "alias", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "alias", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_streaming_py_streamingresponse", "label": "StreamingResponse", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingResponse", "community": 70, "community_name": "Streaming Endpoint", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_streaming_rationale_1", "label": "Audio streaming endpoint \u2014 direct stream with Range support.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Audio streaming endpoint \u2014 direct stream with Range support.", "community": 70, "community_name": "Streaming Endpoint", "source_file": "app/api/v1/streaming.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_sync", "label": "sync.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "sync.py", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/sync.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_sync_get_changes", "label": "get_changes()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_changes()", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/sync.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_sync_py_any", "label": "Any", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 59, "community_name": "Radio Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_sync_push_changes", "label": "push_changes()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "push_changes()", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/sync.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_sync_rationale_1", "label": "Client sync endpoints (offline-first event log).", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Client sync endpoints (offline-first event log).", "community": 59, "community_name": "Radio Endpoints", "source_file": "app/api/v1/sync.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_tracks", "label": "tracks.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 23.2, "font": {"size": 12, "color": "#ffffff"}, "title": "tracks.py", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 45}, {"id": "app_api_v1_tracks_build_track_out", "label": "_build_track_out()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "_build_track_out()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 22}, {"id": "app_api_v1_tracks_py_uuid", "label": "UUID", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 13}, {"id": "app_api_v1_tracks_list_tracks", "label": "list_tracks()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "list_tracks()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_tracks_py_trackrepodep", "label": "TrackRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackRepoDep", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 8}, {"id": "app_api_v1_tracks_py_artistrepodep", "label": "ArtistRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistRepoDep", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_api_v1_tracks_py_albumrepodep", "label": "AlbumRepoDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "AlbumRepoDep", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 7}, {"id": "app_api_v1_tracks_py_currentuser", "label": "CurrentUser", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 11}, {"id": "app_api_v1_tracks_save_remote_track", "label": "save_remote_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "save_remote_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 9}, {"id": "remotelibraryservicedep", "label": "RemoteLibraryServiceDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "RemoteLibraryServiceDep", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_tracks_materialize_track", "label": "materialize_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "materialize_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_tracks_get_track", "label": "get_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_tracks_update_track", "label": "update_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "update_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 9}, {"id": "app_api_v1_tracks_delete_track", "label": "delete_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_tracks_py_filestoragedep", "label": "FileStorageDep", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "FileStorageDep", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_tracks_py_response", "label": "Response", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Response", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_tracks_get_similar_tracks", "label": "get_similar_tracks()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_similar_tracks()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_tracks_py_any", "label": "Any", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_tracks_optimize_track", "label": "optimize_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "optimize_track()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_tracks_get_track_cover", "label": "get_track_cover()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_track_cover()", "community": 56, "community_name": "Cover Art Serving", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_tracks_py_streamuser", "label": "StreamUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamUser", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_tracks_py_streamingresponse", "label": "StreamingResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingResponse", "community": 56, "community_name": "Cover Art Serving", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_tracks_enrich_metadata", "label": "enrich_metadata()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "enrich_metadata()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 7}, {"id": "app_api_v1_tracks_get_metadata_matches", "label": "get_metadata_matches()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_metadata_matches()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 9}, {"id": "metadataservicedep", "label": "MetadataServiceDep", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataServiceDep", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_tracks_set_metadata", "label": "set_metadata()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "set_metadata()", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "code", "degree": 11}, {"id": "app_api_v1_tracks_rationale_114", "label": "Save a remote browse hit (\u00a7A4 discover) as a library placeholder \u2014 no audio", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Save a remote browse hit (\u00a7A4 discover) as a library placeholder \u2014 no audio", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_tracks_rationale_140", "label": "Fetch a placeholder track's audio on demand (plan: Model C lazy materializat", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch a placeholder track&#x27;s audio on demand (plan: Model C lazy materializat", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_tracks_rationale_249", "label": "Re-run metadata enrichment for a track (admin/user-triggered). The work happ", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Re-run metadata enrichment for a track (admin/user-triggered). The work happ", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_tracks_rationale_265", "label": "AcoustID candidates for the metadata editor's match picker (\u00a7A7). Runs the", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AcoustID candidates for the metadata editor&#x27;s match picker (\u00a7A7). Runs the", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_tracks_rationale_301", "label": "Apply manual edits or an accepted AcoustID match (\u00a7A7). Sets ``metadata_stat", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply manual edits or an accepted AcoustID match (\u00a7A7). Sets ``metadata_stat", "community": 17, "community_name": "Pagination & Likes Endpoints", "source_file": "app/api/v1/tracks.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_upload", "label": "upload.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "upload.py", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/v1/upload.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_upload_upload_file", "label": "upload_file()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_file()", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/v1/upload.py", "file_type": "code", "degree": 6}, {"id": "uploadfile", "label": "UploadFile", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadFile", "community": 65, "community_name": "Upload Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "file", "label": "File", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File", "community": 65, "community_name": "Upload Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_upload_py_currentuser", "label": "CurrentUser", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 65, "community_name": "Upload Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "uploadservicedep", "label": "UploadServiceDep", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadServiceDep", "community": 65, "community_name": "Upload Response Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_upload_rationale_1", "label": "Local file upload endpoint.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Local file upload endpoint.", "community": 65, "community_name": "Upload Response Schemas", "source_file": "app/api/v1/upload.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_user_settings", "label": "user_settings.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "user_settings.py", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "code", "degree": 6}, {"id": "app_api_v1_user_settings_get_settings", "label": "get_settings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_settings()", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_user_settings_py_any", "label": "Any", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_api_v1_user_settings_update_settings", "label": "update_settings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "update_settings()", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_user_settings_get_scrobbling_settings", "label": "get_scrobbling_settings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "get_scrobbling_settings()", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_user_settings_set_scrobbling_settings", "label": "set_scrobbling_settings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "set_scrobbling_settings()", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "code", "degree": 2}, {"id": "app_api_v1_user_settings_rationale_1", "label": "User settings endpoints, including scrobbling configuration.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User settings endpoints, including scrobbling configuration.", "community": 75, "community_name": "User Scrobbling Settings", "source_file": "app/api/v1/user_settings.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_users", "label": "users.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "users.py", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "code", "degree": 10}, {"id": "app_api_v1_users_change_my_password", "label": "change_my_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "change_my_password()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "code", "degree": 4}, {"id": "app_api_v1_users_py_currentuser", "label": "CurrentUser", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "CurrentUser", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_api_v1_users_py_userservicedep", "label": "UserServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "UserServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_api_v1_users_reveal_my_subsonic_password", "label": "reveal_my_subsonic_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "reveal_my_subsonic_password()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_users_py_subsonicauthservicedep", "label": "SubsonicAuthServiceDep", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicAuthServiceDep", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_api_v1_users_rotate_my_subsonic_password", "label": "rotate_my_subsonic_password()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "rotate_my_subsonic_password()", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "code", "degree": 5}, {"id": "app_api_v1_users_rationale_1", "label": "Self-service user endpoints (the authenticated caller acts on themselves).", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Self-service user endpoints (the authenticated caller acts on themselves).", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_users_rationale_27", "label": "Reveal the caller's Subsonic app-password for copying into a client. It's r", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Reveal the caller&#x27;s Subsonic app-password for copying into a client. It&#x27;s r", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "rationale", "degree": 1}, {"id": "app_api_v1_users_rationale_38", "label": "Rotate the caller's Subsonic app-password (invalidates the previous one).", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Rotate the caller&#x27;s Subsonic app-password (invalidates the previous one).", "community": 1, "community_name": "Auth Schemas & Tokens", "source_file": "app/api/v1/users.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_init", "label": "__init__.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 91, "community_name": "Package: app.application", "source_file": "app/application/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_application_init_rationale_1", "label": "Application layer \u2014 use cases / services. Services orchestrate the domain throu", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Application layer \u2014 use cases / services. Services orchestrate the domain throu", "community": 91, "community_name": "Package: app.application", "source_file": "app/application/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_auth_service", "label": "auth_service.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "auth_service.py", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 19}, {"id": "app_application_auth_service_hash_token", "label": "_hash_token()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_hash_token()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_auth_service_authservice", "label": "AuthService", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "AuthService", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 36}, {"id": "app_application_auth_service_authservice_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 61, "community_name": "Management CLI", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_auth_service_authservice_login", "label": ".login()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".login()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_auth_service_authservice_refresh", "label": ".refresh()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".refresh()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_auth_service_authservice_logout", "label": ".logout()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".logout()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 1}, {"id": "app_application_auth_service_authservice_authenticate_access", "label": ".authenticate_access()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".authenticate_access()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_auth_service_authservice_issue_pair", "label": "._issue_pair()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "._issue_pair()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_auth_service_py_uuid", "label": "UUID", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 22, "community_name": "User Management Service", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_application_auth_service_authservice_persist_refresh", "label": "._persist_refresh()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._persist_refresh()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_auth_service_rationale_1", "label": "Authentication use cases: login, token refresh (rotation), logout, and access-to", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Authentication use cases: login, token refresh (rotation), logout, and access-to", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_auth_service_rationale_23", "label": "At-rest hash of a refresh token. A signed JWT is high-entropy, so a fast SHA", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "At-rest hash of a refresh token. A signed JWT is high-entropy, so a fast SHA", "community": 22, "community_name": "User Management Service", "source_file": "app/application/auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_download_service", "label": "download_service.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "download_service.py", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 21}, {"id": "app_application_download_service_downloadrequest", "label": "DownloadRequest", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadRequest", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 10}, {"id": "app_application_download_service_downloadservice", "label": "DownloadService", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadService", "community": 25, "community_name": "Download Service Tests", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 25}, {"id": "app_application_download_service_downloadservice_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 7}, {"id": "downloadenqueuer", "label": "DownloadEnqueuer", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadEnqueuer", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_application_download_service_py_enrichenqueuer", "label": "EnrichEnqueuer", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "EnrichEnqueuer", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_application_download_service_downloadservice_request", "label": ".request()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".request()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_download_service_py_uuid", "label": "UUID", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "", "file_type": "code", "degree": 7}, {"id": "app_application_download_service_downloadservice_list", "label": ".list()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_download_service_downloadservice_get", "label": ".get()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_download_service_downloadservice_cancel", "label": ".cancel()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".cancel()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_download_service_downloadservice_retry", "label": ".retry()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".retry()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_download_service_downloadservice_store_result", "label": ".store_result()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".store_result()", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_download_service_rationale_1", "label": "DownloadService \u2014 request external downloads and import their results. Two role", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadService \u2014 request external downloads and import their results. Two role", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/download_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_download_service_rationale_48", "label": "Outcome of asking for a download. Exactly one of the three states holds: th", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Outcome of asking for a download. Exactly one of the three states holds: th", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/download_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_download_service_rationale_130", "label": "Remove the job record. True mid-flight cancellation of an in-progress yt", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove the job record. True mid-flight cancellation of an in-progress yt", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_download_service_rationale_154", "label": "Store a freshly downloaded file and create a minimal ``pending`` track.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Store a freshly downloaded file and create a minimal ``pending`` track.", "community": 72, "community_name": "Generic Job/Result Store Protocol", "source_file": "app/application/download_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_import_service", "label": "import_service.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "import_service.py", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 15}, {"id": "app_application_import_service_importsummary", "label": "ImportSummary", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "ImportSummary", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 7}, {"id": "app_application_import_service_libraryimportservice", "label": "LibraryImportService", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "LibraryImportService", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 17}, {"id": "app_application_import_service_libraryimportservice_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_import_service_libraryimportservice_scan_and_import", "label": ".scan_and_import()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".scan_and_import()", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_import_service_py_uuid", "label": "UUID", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 13, "community_name": "Library Import Service", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_application_import_service_libraryimportservice_import_one", "label": "._import_one()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "._import_one()", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_import_service_rationale_1", "label": "LibraryImportService \u2014 imports files discovered by an indexable source. Batch s", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "LibraryImportService \u2014 imports files discovered by an indexable source. Batch s", "community": 13, "community_name": "Library Import Service", "source_file": "app/application/import_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_metadata_service", "label": "metadata_service.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "metadata_service.py", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 29}, {"id": "app_application_metadata_service_enrichmentresult", "label": "EnrichmentResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "EnrichmentResult", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 14}, {"id": "app_application_metadata_service_metadataenrichmentservice", "label": "MetadataEnrichmentService", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 23.8, "font": {"size": 12, "color": "#ffffff"}, "title": "MetadataEnrichmentService", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 47}, {"id": "app_application_metadata_service_metadataenrichmentservice_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 10}, {"id": "app_application_metadata_service_metadataenrichmentservice_enrich", "label": ".enrich()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".enrich()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 11}, {"id": "app_application_metadata_service_py_uuid", "label": "UUID", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "", "file_type": "code", "degree": 6}, {"id": "app_application_metadata_service_metadataenrichmentservice_no_match_reason", "label": "._no_match_reason()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._no_match_reason()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_find_matches", "label": ".find_matches()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".find_matches()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_metadata_service_metadataenrichmentservice_read_local", "label": "._read_local()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._read_local()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_identify", "label": "._identify()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._identify()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_resolve_artist", "label": "._resolve_artist()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._resolve_artist()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_resolve_album", "label": "._resolve_album()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "._resolve_album()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "label": "._resolve_cover()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "._resolve_cover()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 7}, {"id": "app_application_metadata_service_metadataenrichmentservice_extract_cover", "label": "._extract_cover()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_cover()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_fetch_cover", "label": "._fetch_cover()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._fetch_cover()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_metadata_service_metadataenrichmentservice_save_cover", "label": "._save_cover()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "._save_cover()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_metadata_service_opt_str", "label": "_opt_str()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_opt_str()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 2}, {"id": "app_application_metadata_service_first_int", "label": "_first_int()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_first_int()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "code", "degree": 2}, {"id": "app_application_metadata_service_rationale_1", "label": "MetadataEnrichmentService \u2014 the \u00a76.2 pipeline orchestrator. Order (tag-first):", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataEnrichmentService \u2014 the \u00a76.2 pipeline orchestrator. Order (tag-first):", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_metadata_service_rationale_161", "label": "Explain a ``failed`` (no-identity) run in terms a user can act on: which", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Explain a ``failed`` (no-identity) run in terms a user can act on: which", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_metadata_service_rationale_170", "label": "AcoustID candidates for the metadata editor's match picker (\u00a7A7). Read-", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AcoustID candidates for the metadata editor&#x27;s match picker (\u00a7A7). Read-", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_metadata_service_rationale_245", "label": "Fill in an album cover when it has none. Source order mirrors the tag-fi", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fill in an album cover when it has none. Source order mirrors the tag-fi", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/application/metadata_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_remote_library_service", "label": "remote_library_service.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "remote_library_service.py", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 17}, {"id": "app_application_remote_library_service_materializeoutcome", "label": "MaterializeOutcome", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "MaterializeOutcome", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 8}, {"id": "app_application_remote_library_service_remotelibraryservice", "label": "RemoteLibraryService", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "RemoteLibraryService", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 16}, {"id": "app_application_remote_library_service_remotelibraryservice_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 5}, {"id": "materializeenqueuer", "label": "MaterializeEnqueuer", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "MaterializeEnqueuer", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_application_remote_library_service_remotelibraryservice_save_remote", "label": ".save_remote()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_remote()", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_remote_library_service_py_uuid", "label": "UUID", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 73, "community_name": "Remote Library Materialization", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_application_remote_library_service_remotelibraryservice_request_materialize", "label": ".request_materialize()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".request_materialize()", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_remote_library_service_rationale_1", "label": "RemoteLibraryService \u2014 save-to-library + materialize for remote browse hits (pla", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "RemoteLibraryService \u2014 save-to-library + materialize for remote browse hits (pla", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_remote_library_service_rationale_34", "label": "Result of requesting materialization. ``job`` is ``None`` when the track is", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Result of requesting materialization. ``job`` is ``None`` when the track is", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_remote_library_service_rationale_67", "label": "Persist a placeholder for a remote browse hit. Idempotent: a hit already", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Persist a placeholder for a remote browse hit. Idempotent: a hit already", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_remote_library_service_rationale_95", "label": "Kick off (or report on) materializing a placeholder track. Already-loca", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Kick off (or report on) materializing a placeholder track. Already-loca", "community": 73, "community_name": "Remote Library Materialization", "source_file": "app/application/remote_library_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_streaming_service", "label": "streaming_service.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "streaming_service.py", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 12}, {"id": "app_application_streaming_service_streamresult", "label": "StreamResult", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamResult", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_streaming_service_parse_range", "label": "_parse_range()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_range()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_streaming_service_streamingservice", "label": "StreamingService", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingService", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 9}, {"id": "app_application_streaming_service_streamingservice_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_streaming_service_streamingservice_open_stream", "label": ".open_stream()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".open_stream()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_streaming_service_py_uuid", "label": "UUID", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_application_streaming_service_rationale_1", "label": "StreamingService \u2014 resolves a track and opens a byte-range stream.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "StreamingService \u2014 resolves a track and opens a byte-range stream.", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_streaming_service_rationale_39", "label": "Return (start, end, is_partial). Raises RangeNotSatisfiableError on invalid rang", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Return (start, end, is_partial). Raises RangeNotSatisfiableError on invalid rang", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/application/streaming_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_subsonic_auth_service", "label": "subsonic_auth_service.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "subsonic_auth_service.py", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 17}, {"id": "app_application_subsonic_auth_service_md5_hex", "label": "_md5_hex()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_md5_hex()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 2}, {"id": "app_application_subsonic_auth_service_decode_legacy_password", "label": "_decode_legacy_password()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_decode_legacy_password()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_subsonic_auth_service_subsonicauthservice", "label": "SubsonicAuthService", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "SubsonicAuthService", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 17}, {"id": "app_application_subsonic_auth_service_subsonicauthservice_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "label": ".authenticate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".authenticate()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 7}, {"id": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "label": ".rotate()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".rotate()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_subsonic_auth_service_py_uuid", "label": "UUID", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "label": ".reveal()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".reveal()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "label": "._require_user()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "._require_user()", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_subsonic_auth_service_rationale_1", "label": "SubsonicAuthService \u2014 app-password lifecycle + Subsonic auth verification. The", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicAuthService \u2014 app-password lifecycle + Subsonic auth verification. The", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_subsonic_auth_service_rationale_30", "label": "Decode a Subsonic ``p`` param: ``enc:<hex>`` (hex-encoded) or plaintext.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Decode a Subsonic ``p`` param: ``enc:&lt;hex&gt;`` (hex-encoded) or plaintext.", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_subsonic_auth_service_rationale_52", "label": "Resolve Subsonic query auth params to a domain :class:`User`. Raises :c", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve Subsonic query auth params to a domain :class:`User`. Raises :c", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_subsonic_auth_service_rationale_82", "label": "Generate a fresh app-password, store it encrypted, return the plaintext.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate a fresh app-password, store it encrypted, return the plaintext.", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_subsonic_auth_service_rationale_89", "label": "Return the current app-password, generating one on first access.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the current app-password, generating one on first access.", "community": 60, "community_name": "Subsonic Legacy Password Decoding", "source_file": "app/application/subsonic_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_upload_service", "label": "upload_service.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "upload_service.py", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 12}, {"id": "app_application_upload_service_uploadfileprotocol", "label": "UploadFileProtocol", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadFileProtocol", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 8}, {"id": "app_application_upload_service_py_protocol", "label": "Protocol", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Protocol", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_application_upload_service_uploadfileprotocol_read", "label": ".read()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".read()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 2}, {"id": "app_application_upload_service_uploadresult", "label": "UploadResult", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadResult", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_upload_service_stream_to_temp", "label": "_stream_to_temp()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_stream_to_temp()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_upload_service_py_path", "label": "Path", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_application_upload_service_uploadservice", "label": "UploadService", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadService", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 8}, {"id": "app_application_upload_service_uploadservice_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_upload_service_py_enrichenqueuer", "label": "EnrichEnqueuer", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "EnrichEnqueuer", "community": 3, "community_name": "Download Service Orchestration", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_application_upload_service_uploadservice_handle_upload", "label": ".handle_upload()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".handle_upload()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "code", "degree": 6}, {"id": "app_application_upload_service_rationale_1", "label": "UploadService \u2014 handles user file uploads.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "UploadService \u2014 handles user file uploads.", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/application/upload_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_user_service", "label": "user_service.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "user_service.py", "community": 22, "community_name": "User Management Service", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 15}, {"id": "app_application_user_service_userservice", "label": "UserService", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 26.8, "font": {"size": 12, "color": "#ffffff"}, "title": "UserService", "community": 22, "community_name": "User Management Service", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 57}, {"id": "app_application_user_service_userservice_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 61, "community_name": "Management CLI", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_user_service_userservice_create_user", "label": ".create_user()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".create_user()", "community": 22, "community_name": "User Management Service", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 3}, {"id": "app_application_user_service_userservice_list_users", "label": ".list_users()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".list_users()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 2}, {"id": "app_application_user_service_userservice_get_user", "label": ".get_user()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_user()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 8}, {"id": "app_application_user_service_py_uuid", "label": "UUID", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "", "file_type": "code", "degree": 7}, {"id": "app_application_user_service_userservice_set_superuser", "label": ".set_superuser()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_superuser()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_user_service_userservice_set_active", "label": ".set_active()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_active()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_user_service_userservice_reset_password", "label": ".reset_password()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".reset_password()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 4}, {"id": "app_application_user_service_userservice_deactivate", "label": ".deactivate()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".deactivate()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_user_service_userservice_change_password", "label": ".change_password()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".change_password()", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "code", "degree": 5}, {"id": "app_application_user_service_rationale_1", "label": "User-management use cases: admin CRUD plus self-service password change. Deleti", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User-management use cases: admin CRUD plus self-service password change. Deleti", "community": 22, "community_name": "User Management Service", "source_file": "app/application/user_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_user_service_rationale_59", "label": "Admin-driven password reset. Revokes all sessions.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Admin-driven password reset. Revokes all sessions.", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_user_service_rationale_65", "label": "Soft delete: disable the account, keep the row for referential history.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Soft delete: disable the account, keep the row for referential history.", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_application_user_service_rationale_71", "label": "Self-service change: verify the current password first.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Self-service change: verify the current password first.", "community": 28, "community_name": "Streaming Auth Dependencies", "source_file": "app/application/user_service.py", "file_type": "rationale", "degree": 1}, {"id": "app_cli", "label": "cli.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "cli.py", "community": 22, "community_name": "User Management Service", "source_file": "app/cli.py", "file_type": "code", "degree": 10}, {"id": "app_cli_create_admin", "label": "_create_admin()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_create_admin()", "community": 22, "community_name": "User Management Service", "source_file": "app/cli.py", "file_type": "code", "degree": 7}, {"id": "app_cli_cmd_create_admin", "label": "_cmd_create_admin()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_cmd_create_admin()", "community": 22, "community_name": "User Management Service", "source_file": "app/cli.py", "file_type": "code", "degree": 4}, {"id": "namespace", "label": "Namespace", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Namespace", "community": 22, "community_name": "User Management Service", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_cli_main", "label": "main()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "main()", "community": 22, "community_name": "User Management Service", "source_file": "app/cli.py", "file_type": "code", "degree": 2}, {"id": "app_cli_rationale_1", "label": "Management CLI (``mcma``). Commands: * ``mcma version`` \u2014 print the bac", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Management CLI (``mcma``). Commands: * ``mcma version`` \u2014 print the bac", "community": 22, "community_name": "User Management Service", "source_file": "app/cli.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_init", "label": "__init__.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 92, "community_name": "Package: app.core", "source_file": "app/core/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_core_init_rationale_1", "label": "Cross-cutting concerns: configuration, logging, security.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Cross-cutting concerns: configuration, logging, security.", "community": 92, "community_name": "Package: app.core", "source_file": "app/core/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_config", "label": "config.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 20.0, "font": {"size": 12, "color": "#ffffff"}, "title": "config.py", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/core/config.py", "file_type": "code", "degree": 34}, {"id": "app_core_config_app_version", "label": "app_version()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "app_version()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/core/config.py", "file_type": "code", "degree": 4}, {"id": "app_core_config_settings", "label": "Settings", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.2, "font": {"size": 12, "color": "#ffffff"}, "title": "Settings", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/config.py", "file_type": "code", "degree": 28}, {"id": "basesettings", "label": "BaseSettings", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseSettings", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_core_config_settings_require_async_driver", "label": "._require_async_driver()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "._require_async_driver()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/config.py", "file_type": "code", "degree": 1}, {"id": "app_core_config_settings_is_prod", "label": ".is_prod()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_prod()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/config.py", "file_type": "code", "degree": 1}, {"id": "app_core_config_settings_musicbrainz_user_agent", "label": ".musicbrainz_user_agent()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".musicbrainz_user_agent()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/core/config.py", "file_type": "code", "degree": 3}, {"id": "app_core_config_get_settings", "label": "get_settings()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 23.5, "font": {"size": 12, "color": "#ffffff"}, "title": "get_settings()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/core/config.py", "file_type": "code", "degree": 46}, {"id": "app_core_config_rationale_1", "label": "Application settings \u2014 single source of truth, sourced from environment. Nothin", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Application settings \u2014 single source of truth, sourced from environment. Nothin", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/core/config.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_config_rationale_136", "label": "User-Agent sent to MusicBrainz/AcoustID: ``MCMA/<version> ( <contact> )``.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User-Agent sent to MusicBrainz/AcoustID: ``MCMA/&lt;version&gt; ( &lt;contact&gt; )``.", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/core/config.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_config_rationale_147", "label": "Cached settings singleton. Patch the cache in tests via ``get_settings.cache_cle", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Cached settings singleton. Patch the cache in tests via ``get_settings.cache_cle", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/core/config.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_hashing", "label": "hashing.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "hashing.py", "community": 81, "community_name": "File Hashing Utilities", "source_file": "app/core/hashing.py", "file_type": "code", "degree": 2}, {"id": "app_core_hashing_sha256_of_file", "label": "sha256_of_file()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "sha256_of_file()", "community": 81, "community_name": "File Hashing Utilities", "source_file": "app/core/hashing.py", "file_type": "code", "degree": 2}, {"id": "app_core_hashing_py_path", "label": "Path", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 81, "community_name": "File Hashing Utilities", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_core_hashing_rationale_1", "label": "File hashing utilities.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File hashing utilities.", "community": 81, "community_name": "File Hashing Utilities", "source_file": "app/core/hashing.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_logging", "label": "logging.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "logging.py", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/core/logging.py", "file_type": "code", "degree": 25}, {"id": "app_core_logging_add_correlation_id", "label": "_add_correlation_id()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_add_correlation_id()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/core/logging.py", "file_type": "code", "degree": 4}, {"id": "wrappedlogger", "label": "WrappedLogger", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "WrappedLogger", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "eventdict", "label": "EventDict", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "EventDict", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_core_logging_configure_logging", "label": "configure_logging()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "configure_logging()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/core/logging.py", "file_type": "code", "degree": 6}, {"id": "app_core_logging_get_logger", "label": "get_logger()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "get_logger()", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/core/logging.py", "file_type": "code", "degree": 21}, {"id": "filteringboundlogger", "label": "FilteringBoundLogger", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FilteringBoundLogger", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_core_logging_rationale_1", "label": "Structured logging via structlog. Emits key=value (dev) or JSON (prod) with a p", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Structured logging via structlog. Emits key=value (dev) or JSON (prod) with a p", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/core/logging.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_security", "label": "security.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "security.py", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 22}, {"id": "app_core_security_generate_subsonic_password", "label": "generate_subsonic_password()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_subsonic_password()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "app/core/security.py", "file_type": "code", "degree": 8}, {"id": "app_core_security_subsonicpasswordcipher", "label": "SubsonicPasswordCipher", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "SubsonicPasswordCipher", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "code", "degree": 20}, {"id": "app_core_security_subsonicpasswordcipher_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "code", "degree": 1}, {"id": "app_core_security_subsonicpasswordcipher_encrypt", "label": ".encrypt()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".encrypt()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "code", "degree": 2}, {"id": "app_core_security_subsonicpasswordcipher_decrypt", "label": ".decrypt()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".decrypt()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "code", "degree": 3}, {"id": "app_core_security_argon2passwordhasher", "label": "Argon2PasswordHasher", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 21.5, "font": {"size": 12, "color": "#ffffff"}, "title": "Argon2PasswordHasher", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 39}, {"id": "app_core_security_argon2passwordhasher_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 1}, {"id": "app_core_security_argon2passwordhasher_hash", "label": ".hash()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".hash()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 1}, {"id": "app_core_security_argon2passwordhasher_verify_and_update", "label": ".verify_and_update()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".verify_and_update()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 1}, {"id": "app_core_security_jwttokenservice", "label": "JwtTokenService", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "JwtTokenService", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 21}, {"id": "app_core_security_jwttokenservice_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "code", "degree": 2}, {"id": "app_core_security_jwttokenservice_issue", "label": ".issue()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".issue()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/core/security.py", "file_type": "code", "degree": 4}, {"id": "app_core_security_py_uuid", "label": "UUID", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_core_security_jwttokenservice_decode", "label": ".decode()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".decode()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "code", "degree": 7}, {"id": "app_core_security_rationale_1", "label": "Security adapters: password hashing (argon2 via pwdlib) and JWT (pyjwt). These", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Security adapters: password hashing (argon2 via pwdlib) and JWT (pyjwt). These", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_security_rationale_29", "label": "A fresh, high-entropy Subsonic app-password (url-safe, ~24 chars).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A fresh, high-entropy Subsonic app-password (url-safe, ~24 chars).", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "app/core/security.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_security_rationale_34", "label": "Symmetric encrypt/decrypt for the recoverable Subsonic app-password. Subson", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Symmetric encrypt/decrypt for the recoverable Subsonic app-password. Subson", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "app/core/security.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_security_rationale_59", "label": "argon2id hasher with sensible defaults from pwdlib.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "argon2id hasher with sensible defaults from pwdlib.", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "rationale", "degree": 1}, {"id": "app_core_security_rationale_72", "label": "Issues and verifies HS256 JWTs for access + refresh tokens. TTLs come from", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Issues and verifies HS256 JWTs for access + refresh tokens. TTLs come from", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "app/core/security.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_init", "label": "__init__.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 93, "community_name": "Package: app.domain", "source_file": "app/domain/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_domain_init_rationale_1", "label": "Pure business core \u2014 entities, value objects, errors, and ports (Protocols). Th", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Pure business core \u2014 entities, value objects, errors, and ports (Protocols). Th", "community": 93, "community_name": "Package: app.domain", "source_file": "app/domain/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_init", "label": "__init__.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__.py", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/__init__.py", "file_type": "code", "degree": 29}, {"id": "app_domain_entities_init_rationale_1", "label": "Domain entities and value objects \u2014 pure, framework-free.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Domain entities and value objects \u2014 pure, framework-free.", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_album", "label": "album.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "album.py", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/album.py", "file_type": "code", "degree": 13}, {"id": "app_domain_entities_album_album", "label": "Album", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 19.1, "font": {"size": 12, "color": "#ffffff"}, "title": "Album", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/domain/entities/album.py", "file_type": "code", "degree": 31}, {"id": "app_domain_entities_cover", "label": "cover.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "cover.py", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/cover.py", "file_type": "code", "degree": 7}, {"id": "app_domain_entities_cover_coverart", "label": "CoverArt", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 20.0, "font": {"size": 12, "color": "#ffffff"}, "title": "CoverArt", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/cover.py", "file_type": "code", "degree": 34}, {"id": "app_domain_entities_cover_coverart_extension", "label": ".extension()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".extension()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/cover.py", "file_type": "code", "degree": 2}, {"id": "app_domain_entities_cover_rationale_1", "label": "Cover-art value object \u2014 raw image bytes plus their MIME type. Crosses the doma", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Cover-art value object \u2014 raw image bytes plus their MIME type. Crosses the doma", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/cover.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_cover_rationale_18", "label": "File extension for the content type (no leading dot).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File extension for the content type (no leading dot).", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/entities/cover.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_download", "label": "download.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "download.py", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/entities/download.py", "file_type": "code", "degree": 9}, {"id": "app_domain_entities_download_downloadjob", "label": "DownloadJob", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 19.7, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadJob", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/entities/download.py", "file_type": "code", "degree": 33}, {"id": "app_domain_entities_download_rationale_1", "label": "Download job domain entity (plan \u00a76.1). A queued fetch from an external source,", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Download job domain entity (plan \u00a76.1). A queued fetch from an external source,", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/entities/download.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_history", "label": "history.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "history.py", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/domain/entities/history.py", "file_type": "code", "degree": 4}, {"id": "app_domain_entities_history_playhistoryentry", "label": "PlayHistoryEntry", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "PlayHistoryEntry", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/domain/entities/history.py", "file_type": "code", "degree": 9}, {"id": "app_domain_entities_history_rationale_1", "label": "Play history domain entity \u2014 append-only scrobble log entry.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Play history domain entity \u2014 append-only scrobble log entry.", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/domain/entities/history.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_like", "label": "like.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "like.py", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/domain/entities/like.py", "file_type": "code", "degree": 5}, {"id": "app_domain_entities_like_like", "label": "Like", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Like", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/domain/entities/like.py", "file_type": "code", "degree": 8}, {"id": "app_domain_entities_like_rationale_1", "label": "Like domain entity \u2014 append-only event log entry.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Like domain entity \u2014 append-only event log entry.", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/domain/entities/like.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_metadata", "label": "metadata.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "metadata.py", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "code", "degree": 10}, {"id": "app_domain_entities_metadata_audiotags", "label": "AudioTags", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 20.9, "font": {"size": 12, "color": "#ffffff"}, "title": "AudioTags", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "app/domain/entities/metadata.py", "file_type": "code", "degree": 37}, {"id": "app_domain_entities_metadata_fingerprint", "label": "Fingerprint", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "Fingerprint", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "code", "degree": 36}, {"id": "app_domain_entities_metadata_recordingmatch", "label": "RecordingMatch", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 20.9, "font": {"size": 12, "color": "#ffffff"}, "title": "RecordingMatch", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "code", "degree": 37}, {"id": "app_domain_entities_metadata_rationale_1", "label": "Value objects for the metadata-enrichment pipeline (plan \u00a76.2). Pure data carri", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Value objects for the metadata-enrichment pipeline (plan \u00a76.2). Pure data carri", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_metadata_rationale_12", "label": "Embedded tags read from the file itself (ID3 / Vorbis / MP4 \u2026). Every field", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Embedded tags read from the file itself (ID3 / Vorbis / MP4 \u2026). Every field", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "app/domain/entities/metadata.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_metadata_rationale_31", "label": "Chromaprint fingerprint plus the decoded duration (both needed by AcoustID).", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Chromaprint fingerprint plus the decoded duration (both needed by AcoustID).", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_metadata_rationale_39", "label": "A single AcoustID result, flattened to the fields enrichment cares about. `", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A single AcoustID result, flattened to the fields enrichment cares about. `", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/entities/metadata.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_playlist", "label": "playlist.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "playlist.py", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/domain/entities/playlist.py", "file_type": "code", "degree": 7}, {"id": "app_domain_entities_playlist_playlist", "label": "Playlist", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "Playlist", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/domain/entities/playlist.py", "file_type": "code", "degree": 16}, {"id": "app_domain_entities_playlist_rationale_1", "label": "Playlist domain entity.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Playlist domain entity.", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/domain/entities/playlist.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_storage", "label": "storage.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "storage.py", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/entities/storage.py", "file_type": "code", "degree": 9}, {"id": "app_domain_entities_storage_objectstat", "label": "ObjectStat", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ObjectStat", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/entities/storage.py", "file_type": "code", "degree": 8}, {"id": "app_domain_entities_storage_diskusage", "label": "DiskUsage", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "DiskUsage", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/entities/storage.py", "file_type": "code", "degree": 7}, {"id": "app_domain_entities_storage_formatbreakdown", "label": "FormatBreakdown", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "FormatBreakdown", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/entities/storage.py", "file_type": "code", "degree": 5}, {"id": "app_domain_entities_storage_librarystats", "label": "LibraryStats", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "LibraryStats", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/entities/storage.py", "file_type": "code", "degree": 7}, {"id": "app_domain_entities_storage_rationale_1", "label": "Value objects for file storage.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Value objects for file storage.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/entities/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_storage_rationale_15", "label": "Capacity of the volume backing the media store. ``None`` for backends (e.g.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Capacity of the volume backing the media store. ``None`` for backends (e.g.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/entities/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_storage_rationale_25", "label": "Per-container-format slice of the library (e.g. ``flac`` \u2192 312 tracks).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Per-container-format slice of the library (e.g. ``flac`` \u2192 312 tracks).", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/entities/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_storage_rationale_34", "label": "Aggregate facts about everything the instance has stored. Computed from the", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Aggregate facts about everything the instance has stored. Computed from the", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/entities/storage.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_track", "label": "track.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "track.py", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/entities/track.py", "file_type": "code", "degree": 19}, {"id": "app_domain_entities_track_artist", "label": "Artist", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 20.3, "font": {"size": 12, "color": "#ffffff"}, "title": "Artist", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/entities/track.py", "file_type": "code", "degree": 35}, {"id": "app_domain_entities_track_track", "label": "Track", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 24.7, "font": {"size": 12, "color": "#ffffff"}, "title": "Track", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/entities/track.py", "file_type": "code", "degree": 50}, {"id": "app_domain_entities_track_rationale_1", "label": "Track and Artist domain entities.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Track and Artist domain entities.", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/entities/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_user", "label": "user.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "user.py", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "code", "degree": 15}, {"id": "app_domain_entities_user_user", "label": "User", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "User", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "code", "degree": 36}, {"id": "app_domain_entities_user_credentials", "label": "Credentials", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Credentials", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "code", "degree": 9}, {"id": "app_domain_entities_user_subsoniccredentials", "label": "SubsonicCredentials", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SubsonicCredentials", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "code", "degree": 9}, {"id": "app_domain_entities_user_rationale_1", "label": "User entity. Admin is a single ``is_superuser`` flag \u2014 no role system in Phase", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User entity. Admin is a single ``is_superuser`` flag \u2014 no role system in Phase", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_user_rationale_16", "label": "A person with access to the instance. The password hash is intentionally abs", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A person with access to the instance. The password hash is intentionally abs", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_user_rationale_29", "label": "A user paired with their stored password hash. Stays inside the application", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A user paired with their stored password hash. Stays inside the application", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_entities_user_rationale_38", "label": "A user paired with their *encrypted* Subsonic app-password. ``password_enc`", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A user paired with their *encrypted* Subsonic app-password. ``password_enc`", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/entities/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors", "label": "errors.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 24.1, "font": {"size": 12, "color": "#ffffff"}, "title": "errors.py", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 48}, {"id": "app_domain_errors_domainerror", "label": "DomainError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "DomainError", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 15}, {"id": "app_domain_errors_py_exception", "label": "Exception", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Exception", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_domain_errors_domainerror_init", "label": ".__init__()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 2}, {"id": "app_domain_errors_notfounderror", "label": "NotFoundError", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 37.9, "font": {"size": 12, "color": "#ffffff"}, "title": "NotFoundError", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 95}, {"id": "app_domain_errors_alreadyexistserror", "label": "AlreadyExistsError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "AlreadyExistsError", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 10}, {"id": "app_domain_errors_conflicterror", "label": "ConflictError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ConflictError", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 4}, {"id": "app_domain_errors_validationerror", "label": "ValidationError", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 20.3, "font": {"size": 12, "color": "#ffffff"}, "title": "ValidationError", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 35}, {"id": "app_domain_errors_authenticationerror", "label": "AuthenticationError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 24.4, "font": {"size": 12, "color": "#ffffff"}, "title": "AuthenticationError", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 49}, {"id": "app_domain_errors_permissiondeniederror", "label": "PermissionDeniedError", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "PermissionDeniedError", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 16}, {"id": "app_domain_errors_dependencyunavailableerror", "label": "DependencyUnavailableError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "DependencyUnavailableError", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 9}, {"id": "app_domain_errors_storageerror", "label": "StorageError", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "StorageError", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 23}, {"id": "app_domain_errors_rangenotsatisfiableerror", "label": "RangeNotSatisfiableError", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "RangeNotSatisfiableError", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 10}, {"id": "app_domain_errors_rangenotsatisfiableerror_init", "label": ".__init__()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "code", "degree": 2}, {"id": "app_domain_errors_rationale_1", "label": "Domain exception hierarchy \u2014 framework-agnostic. Services raise these; the API", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Domain exception hierarchy \u2014 framework-agnostic. Services raise these; the API", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_9", "label": "Base for all expected, business-meaningful failures. ``code`` is a stable,", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Base for all expected, business-meaningful failures. ``code`` is a stable,", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_22", "label": "Requested resource does not exist.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Requested resource does not exist.", "community": 19, "community_name": "Subsonic ID Encoding", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_28", "label": "Resource conflicts with an existing one (e.g. duplicate).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resource conflicts with an existing one (e.g. duplicate).", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_34", "label": "Operation conflicts with current state (e.g. stale version on write).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Operation conflicts with current state (e.g. stale version on write).", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_40", "label": "Input is well-formed but violates a business rule.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Input is well-formed but violates a business rule.", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_46", "label": "Caller could not be authenticated.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Caller could not be authenticated.", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_52", "label": "Caller authenticated but not authorized for this action.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Caller authenticated but not authorized for this action.", "community": 4, "community_name": "Playlist Schemas & API", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_58", "label": "An external dependency (source, ML, MusicBrainz) is unavailable. Callers sh", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "An external dependency (source, ML, MusicBrainz) is unavailable. Callers sh", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_67", "label": "File storage operation failed.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File storage operation failed.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_errors_rationale_73", "label": "Requested byte range cannot be satisfied.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Requested byte range cannot be satisfied.", "community": 2, "community_name": "Error Mapping & Search Schemas", "source_file": "app/domain/errors.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports", "label": "ports.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 30.0, "font": {"size": 12, "color": "#ffffff"}, "title": "ports.py", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 68}, {"id": "app_domain_ports_userrepository", "label": "UserRepository", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "UserRepository", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 30}, {"id": "app_domain_ports_py_protocol", "label": "Protocol", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "Protocol", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "", "file_type": "code", "degree": 22}, {"id": "app_domain_ports_userrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_py_uuid", "label": "UUID", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 28.8, "font": {"size": 12, "color": "#ffffff"}, "title": "UUID", "community": 5, "community_name": "Album Repository", "source_file": "", "file_type": "code", "degree": 64}, {"id": "app_domain_ports_userrepository_get_credentials_by_username", "label": ".get_credentials_by_username()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_credentials_by_username()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_list", "label": ".list()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_set_password_hash", "label": ".set_password_hash()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_password_hash()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_set_superuser", "label": ".set_superuser()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_superuser()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_userrepository_set_active", "label": ".set_active()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_active()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_userrepository_count", "label": ".count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_userrepository_get_subsonic_credentials_by_username", "label": ".get_subsonic_credentials_by_username()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_credentials_by_username()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_get_subsonic_password_enc", "label": ".get_subsonic_password_enc()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_password_enc()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_userrepository_set_subsonic_password_enc", "label": ".set_subsonic_password_enc()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_subsonic_password_enc()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_subsoniccipher", "label": "SubsonicCipher", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "SubsonicCipher", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 18}, {"id": "app_domain_ports_subsoniccipher_encrypt", "label": ".encrypt()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".encrypt()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_subsoniccipher_decrypt", "label": ".decrypt()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".decrypt()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_refreshtokenrepository", "label": "RefreshTokenRepository", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "RefreshTokenRepository", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 20}, {"id": "app_domain_ports_refreshtokenrepository_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_py_datetime", "label": "datetime", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 5, "community_name": "Album Repository", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_refreshtokenrepository_is_valid", "label": ".is_valid()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_valid()", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_refreshtokenrepository_revoke", "label": ".revoke()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke()", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_refreshtokenrepository_revoke_all_for_user", "label": ".revoke_all_for_user()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke_all_for_user()", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_passwordhasher", "label": "PasswordHasher", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "PasswordHasher", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 20}, {"id": "app_domain_ports_passwordhasher_hash", "label": ".hash()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".hash()", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_passwordhasher_verify_and_update", "label": ".verify_and_update()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".verify_and_update()", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_tokenservice", "label": "TokenService", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "TokenService", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 17}, {"id": "app_domain_ports_tokenservice_issue", "label": ".issue()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".issue()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_tokenservice_decode", "label": ".decode()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".decode()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_filestorage", "label": "FileStorage", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 22.6, "font": {"size": 12, "color": "#ffffff"}, "title": "FileStorage", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 43}, {"id": "app_domain_ports_filestorage_save_file", "label": ".save_file()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_py_path", "label": "Path", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_domain_ports_filestorage_open_range", "label": ".open_range()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".open_range()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_filestorage_stat", "label": ".stat()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".stat()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_filestorage_exists", "label": ".exists()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".exists()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_filestorage_delete", "label": ".delete()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_filestorage_as_local_path", "label": ".as_local_path()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".as_local_path()", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_py_abstractasynccontextmanager", "label": "AbstractAsyncContextManager", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AbstractAsyncContextManager", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_filestorage_disk_usage", "label": ".disk_usage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".disk_usage()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_artistrepository", "label": "ArtistRepository", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 21.5, "font": {"size": 12, "color": "#ffffff"}, "title": "ArtistRepository", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 39}, {"id": "app_domain_ports_artistrepository_get_or_create", "label": ".get_or_create()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_artistrepository_get_or_create_remote", "label": ".get_or_create_remote()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create_remote()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_artistrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_artistrepository_get_many", "label": ".get_many()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_many()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_artistrepository_list", "label": ".list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_artistrepository_count", "label": ".count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_artistrepository_album_count", "label": ".album_count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".album_count()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_artistrepository_track_count", "label": ".track_count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_trackrepository", "label": "TrackRepository", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 24.4, "font": {"size": 12, "color": "#ffffff"}, "title": "TrackRepository", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 49}, {"id": "app_domain_ports_trackrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_trackrepository_get_by_source", "label": ".get_by_source()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_source()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_trackrepository_add", "label": ".add()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_trackrepository_materialize", "label": ".materialize()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".materialize()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_trackrepository_delete", "label": ".delete()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_trackrepository_genres", "label": ".genres()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".genres()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_trackrepository_library_stats", "label": ".library_stats()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".library_stats()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_trackrepository_list", "label": ".list()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_trackrepository_count", "label": ".count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_trackrepository_update", "label": ".update()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".update()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_trackrepository_apply_enrichment", "label": ".apply_enrichment()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".apply_enrichment()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_trackrepository_mark_enrichment_failed", "label": ".mark_enrichment_failed()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".mark_enrichment_failed()", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_albumrepository", "label": "AlbumRepository", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "AlbumRepository", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 25}, {"id": "app_domain_ports_albumrepository_get_or_create", "label": ".get_or_create()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_albumrepository_get_or_create_remote", "label": ".get_or_create_remote()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create_remote()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_albumrepository_set_cover_path", "label": ".set_cover_path()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_cover_path()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_albumrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_albumrepository_get_many", "label": ".get_many()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_many()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_albumrepository_count", "label": ".count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_albumrepository_track_count", "label": ".track_count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_albumrepository_track_count_many", "label": ".track_count_many()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count_many()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_albumrepository_list", "label": ".list()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_playlistrepository", "label": "PlaylistRepository", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "PlaylistRepository", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 25}, {"id": "app_domain_ports_playlistrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_playlistrepository_count", "label": ".count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_playlistrepository_update", "label": ".update()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".update()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_playlistrepository_delete", "label": ".delete()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_track_count", "label": ".track_count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_track_count_many", "label": ".track_count_many()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count_many()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_get_tracks", "label": ".get_tracks()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_tracks()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_playlistrepository_get_track_total", "label": ".get_track_total()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_track_total()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_has_track", "label": ".has_track()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".has_track()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_add_track", "label": ".add_track()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".add_track()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_remove_track", "label": ".remove_track()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".remove_track()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_max_position", "label": ".max_position()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".max_position()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_reorder_tracks", "label": ".reorder_tracks()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".reorder_tracks()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_playlistrepository_list", "label": ".list()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_likerepository", "label": "LikeRepository", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeRepository", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 14}, {"id": "app_domain_ports_likerepository_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_likerepository_get_latest_state", "label": ".get_latest_state()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_latest_state()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_likerepository_list_liked_tracks", "label": ".list_liked_tracks()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list_liked_tracks()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_likerepository_count_liked_tracks", "label": ".count_liked_tracks()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count_liked_tracks()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_historyrepository", "label": "HistoryRepository", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "HistoryRepository", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 13}, {"id": "app_domain_ports_historyrepository_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 4}, {"id": "app_domain_ports_historyrepository_list", "label": ".list()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_historyrepository_count", "label": ".count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_downloadjobrepository", "label": "DownloadJobRepository", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadJobRepository", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 29}, {"id": "app_domain_ports_downloadjobrepository_add", "label": ".add()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_downloadjobrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_downloadjobrepository_get_active_for_source", "label": ".get_active_for_source()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_active_for_source()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_downloadjobrepository_list", "label": ".list()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_downloadjobrepository_count", "label": ".count()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_downloadjobrepository_set_status", "label": ".set_status()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_status()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_downloadjobrepository_set_progress", "label": ".set_progress()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_progress()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_downloadjobrepository_increment_retry", "label": ".increment_retry()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".increment_retry()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_downloadjobrepository_delete", "label": ".delete()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_downloadjobrepository_failure_rate", "label": ".failure_rate()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".failure_rate()", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_sourcebackend", "label": "SourceBackend", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "SourceBackend", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 20}, {"id": "app_domain_ports_sourcebackend_info", "label": ".info()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".info()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_sourcebackend_is_available", "label": ".is_available()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_indexablesource", "label": "IndexableSource", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "IndexableSource", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 20}, {"id": "app_domain_ports_indexablesource_scan", "label": ".scan()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".scan()", "community": 13, "community_name": "Library Import Service", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_searchablesource", "label": "SearchableSource", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "SearchableSource", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 17}, {"id": "app_domain_ports_searchablesource_search", "label": ".search()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".search()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_fetchablesource", "label": "FetchableSource", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "FetchableSource", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 19}, {"id": "app_domain_ports_fetchablesource_fetch", "label": ".fetch()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_py_progresscallback", "label": "ProgressCallback", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ProgressCallback", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_fetchablesource_get_metadata", "label": ".get_metadata()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_metadata()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_audiotagreader", "label": "AudioTagReader", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "AudioTagReader", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 16}, {"id": "app_domain_ports_audiotagreader_read", "label": ".read()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".read()", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_audiofingerprinter", "label": "AudioFingerprinter", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "AudioFingerprinter", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 17}, {"id": "app_domain_ports_audiofingerprinter_is_available", "label": ".is_available()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_audiofingerprinter_calculate", "label": ".calculate()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".calculate()", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_acoustidclient", "label": "AcoustIdClient", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "AcoustIdClient", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 18}, {"id": "app_domain_ports_acoustidclient_is_available", "label": ".is_available()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_acoustidclient_lookup", "label": ".lookup()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_acoustidclient_lookup_all", "label": ".lookup_all()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup_all()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_coverartextractor", "label": "CoverArtExtractor", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "CoverArtExtractor", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 16}, {"id": "app_domain_ports_coverartextractor_extract", "label": ".extract()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".extract()", "community": 32, "community_name": "Metadata Enrichment Pipeline", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 3}, {"id": "app_domain_ports_coverartprovider", "label": "CoverArtProvider", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "CoverArtProvider", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 17}, {"id": "app_domain_ports_coverartprovider_is_available", "label": ".is_available()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 1}, {"id": "app_domain_ports_coverartprovider_fetch_release_group", "label": ".fetch_release_group()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch_release_group()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "app/domain/ports.py", "file_type": "code", "degree": 2}, {"id": "app_domain_ports_rationale_1", "label": "Ports \u2014 the contracts the application layer depends on. These are Protocols, no", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Ports \u2014 the contracts the application layer depends on. These are Protocols, no", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_60", "label": "Symmetric encrypt/decrypt for the recoverable Subsonic app-password.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Symmetric encrypt/decrypt for the recoverable Subsonic app-password.", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_76", "label": "True iff a row exists for ``jti`` that is neither revoked nor expired.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "True iff a row exists for ``jti`` that is neither revoked nor expired.", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_86", "label": "Verify ``password`` against ``password_hash``. Returns ``(is_valid, upda", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify ``password`` against ``password_hash``. Returns ``(is_valid, upda", "community": 61, "community_name": "Management CLI", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_95", "label": "Verify signature + expiry and return claims. Raises :class:`~app.domain.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Verify signature + expiry and return claims. Raises :class:`~app.domain.", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_110", "label": "Capacity of the volume backing the store, or ``None`` when the backend h", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Capacity of the volume backing the store, or ``None`` when the backend h", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_118", "label": "Resolve/create an artist bound to a remote ``(source, source_id)`` (lazy", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve/create an artist bound to a remote ``(source, source_id)`` (lazy", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_157", "label": "Fill in a remote placeholder's audio fields after a download (lazy mater", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fill in a remote placeholder&#x27;s audio fields after a download (lazy mater", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_212", "label": "Persist auto-enrichment results. Nullable fields are filled only when a", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Persist auto-enrichment results. Nullable fields are filled only when a", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_220", "label": "Record that an enrichment run crashed unexpectedly: set ``failed`` + the", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Record that an enrichment run crashed unexpectedly: set ``failed`` + the", "community": 3, "community_name": "Download Service Orchestration", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_244", "label": "Resolve/create an album bound to a remote ``(source, source_id)`` (lazy", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve/create an album bound to a remote ``(source, source_id)`` (lazy", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_322", "label": "Persistence for download jobs (plan \u00a76.1). Drives the \u00a7A5 download manager a", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Persistence for download jobs (plan \u00a76.1). Drives the \u00a7A5 download manager a", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_335", "label": "An unfinished (queued/downloading/enriching) job for the same item, if a", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "An unfinished (queued/downloading/enriching) job for the same item, if a", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_358", "label": "Bump ``retry_count`` and return the new value.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Bump ``retry_count`` and return the new value.", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_363", "label": "Fraction of jobs for ``source`` created since ``since`` that ended ``fai", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fraction of jobs for ``source`` created since ``since`` that ended ``fai", "community": 5, "community_name": "Album Repository", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_370", "label": "A registered source of tracks (mounted folder, YouTube, \u2026). ``name`` is the", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A registered source of tracks (mounted folder, YouTube, \u2026). ``name`` is the", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_382", "label": "A source that enumerates files already on disk (e.g. the local folder).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A source that enumerates files already on disk (e.g. the local folder).", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_388", "label": "A source that can be searched by free text (e.g. YouTube Music). Returns ``", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A source that can be searched by free text (e.g. YouTube Music). Returns ``", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_397", "label": "A source that can download a previously-discovered item to local disk. ``fe", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A source that can download a previously-discovered item to local disk. ``fe", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_412", "label": "Reads embedded tags from a local audio file. Returns ``None`` only when the", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Reads embedded tags from a local audio file. Returns ``None`` only when the", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_419", "label": "Chromaprint (fpcalc) wrapper. ``is_available`` reflects whether the binary i", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Chromaprint (fpcalc) wrapper. ``is_available`` reflects whether the binary i", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_427", "label": "AcoustID lookup. ``is_available`` is False without an API key (the whole fin", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AcoustID lookup. ``is_available`` is False without an API key (the whole fin", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_439", "label": "Pulls embedded cover art out of a local audio file (offline, no network). Re", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Pulls embedded cover art out of a local audio file (offline, no network). Re", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_ports_rationale_446", "label": "Fetches cover art from an external service (Cover Art Archive) by MusicBrain", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetches cover art from an external service (Cover Art Archive) by MusicBrain", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/ports.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources", "label": "sources.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "sources.py", "community": 13, "community_name": "Library Import Service", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 20}, {"id": "app_domain_sources_sourceinfo", "label": "SourceInfo", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 24.4, "font": {"size": 12, "color": "#ffffff"}, "title": "SourceInfo", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 49}, {"id": "app_domain_sources_sourcefile", "label": "SourceFile", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 22.1, "font": {"size": 12, "color": "#ffffff"}, "title": "SourceFile", "community": 13, "community_name": "Library Import Service", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 41}, {"id": "app_domain_sources_searchresult", "label": "SearchResult", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 20.9, "font": {"size": 12, "color": "#ffffff"}, "title": "SearchResult", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 37}, {"id": "app_domain_sources_rawmetadata", "label": "RawMetadata", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "RawMetadata", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 29}, {"id": "app_domain_sources_downloadresult", "label": "DownloadResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 23.8, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadResult", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "code", "degree": 47}, {"id": "app_domain_sources_rationale_1", "label": "Source-backend value objects \u2014 framework-free. A *source* is a place tracks com", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Source-backend value objects \u2014 framework-free. A *source* is a place tracks com", "community": 13, "community_name": "Library Import Service", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources_rationale_25", "label": "Describes a registered source for enumeration / health (UI, admin).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Describes a registered source for enumeration / health (UI, admin).", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources_rationale_35", "label": "A single importable file discovered by an indexable source. ``source_id`` i", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A single importable file discovered by an indexable source. ``source_id`` i", "community": 13, "community_name": "Library Import Service", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources_rationale_50", "label": "One hit from a searchable source (plan \u00a75), shown on the discover screen. `", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "One hit from a searchable source (plan \u00a75), shown on the discover screen. `", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources_rationale_69", "label": "Metadata a fetch-source can offer about an item *before* enrichment. Best-e", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Metadata a fetch-source can offer about an item *before* enrichment. Best-e", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_sources_rationale_84", "label": "A file a fetch-source produced on local disk (plan \u00a75). ``path`` is a temp", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A file a fetch-source produced on local disk (plan \u00a75). ``path`` is a temp", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/sources.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_tokens", "label": "tokens.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "tokens.py", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "code", "degree": 10}, {"id": "app_domain_tokens_tokentype", "label": "TokenType", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 20.0, "font": {"size": 12, "color": "#ffffff"}, "title": "TokenType", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "code", "degree": 34}, {"id": "app_domain_tokens_tokenclaims", "label": "TokenClaims", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 19.1, "font": {"size": 12, "color": "#ffffff"}, "title": "TokenClaims", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "code", "degree": 31}, {"id": "app_domain_tokens_issuedtoken", "label": "IssuedToken", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 20.0, "font": {"size": 12, "color": "#ffffff"}, "title": "IssuedToken", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "code", "degree": 34}, {"id": "app_domain_tokens_tokenpair", "label": "TokenPair", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "TokenPair", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/tokens.py", "file_type": "code", "degree": 9}, {"id": "app_domain_tokens_rationale_1", "label": "Token value objects \u2014 framework-free. The auth flow issues a short-lived *acces", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Token value objects \u2014 framework-free. The auth flow issues a short-lived *acces", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_tokens_rationale_22", "label": "Decoded, verified claims from a JWT.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Decoded, verified claims from a JWT.", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_tokens_rationale_32", "label": "A freshly minted token: the encoded string plus the metadata needed to persi", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A freshly minted token: the encoded string plus the metadata needed to persi", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/domain/tokens.py", "file_type": "rationale", "degree": 1}, {"id": "app_domain_tokens_rationale_42", "label": "The access + refresh pair returned to clients on login/refresh.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The access + refresh pair returned to clients on login/refresh.", "community": 22, "community_name": "User Management Service", "source_file": "app/domain/tokens.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_init", "label": "__init__.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 94, "community_name": "Package: app.infrastructure", "source_file": "app/infrastructure/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_init_rationale_1", "label": "Driven adapters \u2014 concrete implementations of domain ports. ORM models, reposit", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Driven adapters \u2014 concrete implementations of domain ports. ORM models, reposit", "community": 94, "community_name": "Package: app.infrastructure", "source_file": "app/infrastructure/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_cache_init", "label": "__init__.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/__init__.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_cache_init_rationale_1", "label": "Redis adapter: shared connection pool for cache and arq broker.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Redis adapter: shared connection pool for cache and arq broker.", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_cache_redis", "label": "redis.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "redis.py", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/redis.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_cache_redis_get_redis", "label": "get_redis()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_redis()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/redis.py", "file_type": "code", "degree": 7}, {"id": "redis", "label": "Redis", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Redis", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_cache_redis_close_redis", "label": "close_redis()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "close_redis()", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/redis.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_cache_redis_rationale_1", "label": "Redis client provider \u2014 a single shared async connection pool.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Redis client provider \u2014 a single shared async connection pool.", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/redis.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_cache_redis_rationale_11", "label": "Return the process-wide Redis client (created on first use).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the process-wide Redis client (created on first use).", "community": 24, "community_name": "DB Session & Health Checks", "source_file": "app/infrastructure/cache/redis.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_init", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/__init__.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_init_rationale_1", "label": "Database adapter: declarative base, async engine, session factory.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Database adapter: declarative base, async engine, session factory.", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_base", "label": "base.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "base.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/base.py", "file_type": "code", "degree": 23}, {"id": "app_infrastructure_db_base_base", "label": "Base", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "Base", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/base.py", "file_type": "code", "degree": 24}, {"id": "declarativebase", "label": "DeclarativeBase", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "DeclarativeBase", "community": 6, "community_name": "ORM Base & Models", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_base_rationale_1", "label": "Declarative base with a fixed naming convention. The naming convention makes Al", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Declarative base with a fixed naming convention. The naming convention makes Al", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/base.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_base_rationale_20", "label": "Base for all ORM models. Import models so Alembic sees their metadata.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Base for all ORM models. Import models so Alembic sees their metadata.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/base.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_engine", "label": "engine.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "engine.py", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_engine_get_engine", "label": "get_engine()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "get_engine()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "code", "degree": 36}, {"id": "asyncengine", "label": "AsyncEngine", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncEngine", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_engine_get_sessionmaker", "label": "get_sessionmaker()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_sessionmaker()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "code", "degree": 10}, {"id": "async_sessionmaker", "label": "async_sessionmaker", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "async_sessionmaker", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_engine_py_asyncsession", "label": "AsyncSession", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_engine_session_scope", "label": "session_scope()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 23.2, "font": {"size": 12, "color": "#ffffff"}, "title": "session_scope()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/infrastructure/db/engine.py", "file_type": "code", "degree": 45}, {"id": "app_infrastructure_db_engine_dispose_engine", "label": "dispose_engine()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "dispose_engine()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "code", "degree": 26}, {"id": "app_infrastructure_db_engine_rationale_1", "label": "Async engine + session factory, created lazily from settings. The engine is pro", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Async engine + session factory, created lazily from settings. The engine is pro", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_engine_rationale_44", "label": "Transactional session for workers/scripts: commit on success, rollback on error.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Transactional session for workers/scripts: commit on success, rollback on error.", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/infrastructure/db/engine.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_engine_rationale_57", "label": "Dispose the pooled engine on shutdown. Safe to call if never initialized.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Dispose the pooled engine on shutdown. Safe to call if never initialized.", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "app/infrastructure/db/engine.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_init", "label": "__init__.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/__init__.py", "file_type": "code", "degree": 21}, {"id": "app_infrastructure_db_models_init_rationale_1", "label": "ORM models package. Importing this package registers every model on ``Base.meta", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM models package. Importing this package registers every model on ``Base.meta", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_album", "label": "album.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "album.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/album.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_models_album_albummodel", "label": "AlbumModel", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "AlbumModel", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/models/album.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_db_models_album_rationale_1", "label": "ORM model for albums.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for albums.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/album.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_artist", "label": "artist.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "artist.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/artist.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_models_artist_artistmodel", "label": "ArtistModel", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ArtistModel", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/models/artist.py", "file_type": "code", "degree": 15}, {"id": "app_infrastructure_db_models_artist_rationale_1", "label": "ORM model for artists.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for artists.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/artist.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_download_job", "label": "download_job.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "download_job.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/download_job.py", "file_type": "code", "degree": 11}, {"id": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "DownloadJobModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "DownloadJobModel", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/models/download_job.py", "file_type": "code", "degree": 19}, {"id": "app_infrastructure_db_models_download_job_rationale_1", "label": "ORM model for download jobs (plan \u00a76.1). Tracks a queued download through its l", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for download jobs (plan \u00a76.1). Tracks a queued download through its l", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/download_job.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums", "label": "enums.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "enums.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_db_models_enums_tracksource", "label": "TrackSource", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackSource", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_models_enums_storagepolicy", "label": "StoragePolicy", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "StoragePolicy", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_models_enums_metadatastatus", "label": "MetadataStatus", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MetadataStatus", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_models_enums_likevalue", "label": "LikeValue", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeValue", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_models_enums_downloadstatus", "label": "DownloadStatus", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadStatus", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_models_enums_lyricsstatus", "label": "LyricsStatus", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "LyricsStatus", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_models_enums_trackavailability", "label": "TrackAvailability", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "TrackAvailability", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_db_models_enums_rationale_1", "label": "Domain enums used by ORM columns. Plain ``str``-valued enums, stored as strings", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Domain enums used by ORM columns. Plain ``str``-valued enums, stored as strings", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_12", "label": "Which backend imported a track. Drives ``is_replaceable`` (plan \u00a76.6).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Which backend imported a track. Drives ``is_replaceable`` (plan \u00a76.6).", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_22", "label": "What the system did / must do with the stored format (plan \u00a76.6). ``master_", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "What the system did / must do with the stored format (plan \u00a76.6). ``master_", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_33", "label": "Enrichment state. ``manual`` is never overwritten by auto-enrichment.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Enrichment state. ``manual`` is never overwritten by auto-enrichment.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_42", "label": "A like event's value. Likes are an append-only log, not a boolean \u2014 current", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A like event&#x27;s value. Likes are an append-only log, not a boolean \u2014 current", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_51", "label": "Lifecycle of a download job (plan \u00a76.1).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Lifecycle of a download job (plan \u00a76.1).", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_61", "label": "Lyrics fetch outcome. ``not_found`` is cached too (with TTL) so we don't ham", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Lyrics fetch outcome. ``not_found`` is cached too (with TTL) so we don&#x27;t ham", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_enums_rationale_70", "label": "Whether a track's audio is on local storage or still a remote placeholder (p", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Whether a track&#x27;s audio is on local storage or still a remote placeholder (p", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/models/enums.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_like", "label": "like.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "like.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/like.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_models_like_likemodel", "label": "LikeModel", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "LikeModel", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/models/like.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_models_like_rationale_1", "label": "ORM model for likes \u2014 an append-only event log. A like/dislike is **never** upd", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for likes \u2014 an append-only event log. A like/dislike is **never** upd", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/like.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_lyrics", "label": "lyrics.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "lyrics.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/lyrics.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_models_lyrics_lyricsmodel", "label": "LyricsModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "LyricsModel", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/lyrics.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_models_lyrics_rationale_1", "label": "ORM model for cached lyrics (plan \u00a76.7). Cached per track (one row, ``track_id`", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for cached lyrics (plan \u00a76.7). Cached per track (one row, ``track_id`", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/lyrics.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_mixins", "label": "mixins.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "mixins.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "code", "degree": 12}, {"id": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "UUIDPrimaryKeyMixin", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "UUIDPrimaryKeyMixin", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "code", "degree": 22}, {"id": "app_infrastructure_db_models_mixins_timestampmixin", "label": "TimestampMixin", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "TimestampMixin", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_db_models_mixins_rationale_1", "label": "Reusable mapped-column mixins for ORM models.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Reusable mapped-column mixins for ORM models.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_mixins_rationale_11", "label": "``id`` UUID primary key, generated application-side. Generating in Python (", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "``id`` UUID primary key, generated application-side. Generating in Python (", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_mixins_rationale_21", "label": "``created_at`` / ``updated_at``, server-managed. Present on every user-muta", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "``created_at`` / ``updated_at``, server-managed. Present on every user-muta", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/mixins.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_play_history", "label": "play_history.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "play_history.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/play_history.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "PlayHistoryModel", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PlayHistoryModel", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/models/play_history.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_models_play_history_rationale_1", "label": "ORM model for play history \u2014 an append-only event log (scrobbles). ``play_durat", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for play history \u2014 an append-only event log (scrobbles). ``play_durat", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/play_history.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_playlist", "label": "playlist.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "playlist.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/playlist.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_models_playlist_playlistmodel", "label": "PlaylistModel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "PlaylistModel", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/models/playlist.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "PlaylistTrackModel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "PlaylistTrackModel", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/models/playlist.py", "file_type": "code", "degree": 12}, {"id": "app_infrastructure_db_models_playlist_rationale_1", "label": "ORM models for playlists and their ordered tracks.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM models for playlists and their ordered tracks.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/playlist.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_playlist_rationale_29", "label": "A track's membership in a playlist. ``position`` is a float so a track can", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A track&#x27;s membership in a playlist. ``position`` is a float so a track can", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/models/playlist.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_track", "label": "track.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "track.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/track.py", "file_type": "code", "degree": 17}, {"id": "app_infrastructure_db_models_track_trackmodel", "label": "TrackModel", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "TrackModel", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/models/track.py", "file_type": "code", "degree": 30}, {"id": "app_infrastructure_db_models_track_rationale_1", "label": "ORM model for tracks \u2014 the central entity. ``id`` is the stable, client-facing", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM model for tracks \u2014 the central entity. ``id`` is the stable, client-facing", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/track.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_user", "label": "user.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "user.py", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/user.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_models_user_usermodel", "label": "UserModel", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "UserModel", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/models/user.py", "file_type": "code", "degree": 14}, {"id": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "RefreshTokenModel", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "RefreshTokenModel", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/user.py", "file_type": "code", "degree": 11}, {"id": "app_infrastructure_db_models_user_rationale_1", "label": "ORM models for users and refresh tokens.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ORM models for users and refresh tokens.", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_models_user_rationale_27", "label": "A persisted, revocable refresh token (offline-first sessions). Stores only", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A persisted, revocable refresh token (offline-first sessions). Stores only", "community": 6, "community_name": "ORM Base & Models", "source_file": "app/infrastructure/db/models/user.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_init", "label": "__init__.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "__init__.py", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/__init__.py", "file_type": "code", "degree": 19}, {"id": "app_infrastructure_db_repositories_init_rationale_1", "label": "SQLAlchemy repository adapters implementing the domain ports.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SQLAlchemy repository adapters implementing the domain ports.", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_album_repository", "label": "album_repository.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "album_repository.py", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 11}, {"id": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "_to_entity()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "SqlAlchemyAlbumRepository", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyAlbumRepository", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 21}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_album_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "label": ".get_or_create()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "UUID", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "label": ".get_or_create_remote()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create_remote()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_set_cover_path", "label": ".set_cover_path()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_cover_path()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "label": ".get_many()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_many()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "label": ".count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count", "label": ".track_count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count_many", "label": ".track_count_many()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count_many()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "label": ".list()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_album_repository_rationale_1", "label": "Album repository \u2014 adapter over ``AsyncSession``.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Album repository \u2014 adapter over ``AsyncSession``.", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_album_repository_rationale_40", "label": "Resolve an album by ``(title, artist_id)``, creating it if absent. Backf", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve an album by ``(title, artist_id)``, creating it if absent. Backf", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_album_repository_rationale_78", "label": "Resolve an album by ``(source, source_id)`` first (re-browse/save dedup)", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve an album by ``(source, source_id)`` first (re-browse/save dedup)", "community": 33, "community_name": "Album Domain & Cover Value Object", "source_file": "app/infrastructure/db/repositories/album_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_artist_repository", "label": "artist_repository.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "artist_repository.py", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 13}, {"id": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "_to_entity()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "SqlAlchemyArtistRepository", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyArtistRepository", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 30}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_artist_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create", "label": ".get_or_create()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "label": ".get_or_create_remote()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create_remote()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "UUID", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "label": ".get_many()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_many()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_list", "label": ".list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_count", "label": ".count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_album_count", "label": ".album_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".album_count()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_track_count", "label": ".track_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_artist_repository_rationale_1", "label": "Artist repository \u2014 adapter over ``AsyncSession``.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Artist repository \u2014 adapter over ``AsyncSession``.", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_artist_repository_rationale_41", "label": "Resolve an artist by ``(source, source_id)`` first (re-browse/save dedup", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve an artist by ``(source, source_id)`` first (re-browse/save dedup", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "app/infrastructure/db/repositories/artist_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_download_job_repository", "label": "download_job_repository.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "download_job_repository.py", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 12}, {"id": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "_to_entity()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "SqlAlchemyDownloadJobRepository", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.2, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyDownloadJobRepository", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 28}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_download_job_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "label": ".add()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "UUID", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_active_for_source", "label": ".get_active_for_source()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_active_for_source()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "label": ".list()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_count", "label": ".count()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_status", "label": ".set_status()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_status()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_progress", "label": ".set_progress()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_progress()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_increment_retry", "label": ".increment_retry()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".increment_retry()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_delete", "label": ".delete()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_failure_rate", "label": ".failure_rate()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".failure_rate()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_download_job_repository_py_datetime", "label": "datetime", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_download_job_repository_rationale_1", "label": "Download job repository \u2014 adapter over ``AsyncSession`` (plan \u00a76.1).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Download job repository \u2014 adapter over ``AsyncSession`` (plan \u00a76.1).", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "app/infrastructure/db/repositories/download_job_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_history_repository", "label": "history_repository.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "history_repository.py", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_repositories_history_repository_to_entity", "label": "_to_entity()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "label": "SqlAlchemyHistoryRepository", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SqlAlchemyHistoryRepository", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_init", "label": ".__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_history_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "label": ".add()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_history_repository_py_uuid", "label": "UUID", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_history_repository_py_datetime", "label": "datetime", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "label": ".list()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_count", "label": ".count()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_history_repository_rationale_1", "label": "Play history repository \u2014 adapter over ``AsyncSession``.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Play history repository \u2014 adapter over ``AsyncSession``.", "community": 44, "community_name": "Play History Domain & Repository", "source_file": "app/infrastructure/db/repositories/history_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_like_repository", "label": "like_repository.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "like_repository.py", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 14}, {"id": "app_infrastructure_db_repositories_like_repository_to_entity", "label": "_to_entity()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_like_repository_track_to_entity", "label": "_track_to_entity()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_track_to_entity()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "label": "SqlAlchemyLikeRepository", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "SqlAlchemyLikeRepository", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_init", "label": ".__init__()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_like_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "label": ".add()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "UUID", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "label": ".get_latest_state()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_latest_state()", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "label": ".list_liked_tracks()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".list_liked_tracks()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_count_liked_tracks", "label": ".count_liked_tracks()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count_liked_tracks()", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_like_repository_rationale_1", "label": "Like repository \u2014 adapter over ``AsyncSession``. Likes are an append-only event", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Like repository \u2014 adapter over ``AsyncSession``. Likes are an append-only event", "community": 49, "community_name": "Like Domain Entity (event log)", "source_file": "app/infrastructure/db/repositories/like_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_playlist_repository", "label": "playlist_repository.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "playlist_repository.py", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 17}, {"id": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "_to_entity()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_db_repositories_playlist_repository_track_to_entity", "label": "_track_to_entity()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_track_to_entity()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "SqlAlchemyPlaylistRepository", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyPlaylistRepository", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 23}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_playlist_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 21, "community_name": "Source Port Protocols", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "UUID", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "UUID", "community": 21, "community_name": "Source Port Protocols", "source_file": "", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "label": ".count()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "label": ".add()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "label": ".update()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".update()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_delete", "label": ".delete()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "label": ".track_count()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count_many", "label": ".track_count_many()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".track_count_many()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "label": ".get_tracks()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_tracks()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_track_total", "label": ".get_track_total()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_track_total()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_has_track", "label": ".has_track()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".has_track()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "label": ".add_track()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".add_track()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_reorder_tracks", "label": ".reorder_tracks()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".reorder_tracks()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "label": ".remove_track()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".remove_track()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_max_position", "label": ".max_position()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".max_position()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "label": ".list()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_playlist_repository_rationale_1", "label": "Playlist repository \u2014 adapter over ``AsyncSession``.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Playlist repository \u2014 adapter over ``AsyncSession``.", "community": 21, "community_name": "Source Port Protocols", "source_file": "app/infrastructure/db/repositories/playlist_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_refresh_token_repository", "label": "refresh_token_repository.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "refresh_token_repository.py", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "SqlAlchemyRefreshTokenRepository", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyRefreshTokenRepository", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 30}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 58, "community_name": "Refresh Token Repository", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "label": ".add()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "UUID", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 58, "community_name": "Refresh Token Repository", "source_file": "", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_py_datetime", "label": "datetime", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 58, "community_name": "Refresh Token Repository", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "label": ".is_valid()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_valid()", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "label": ".revoke()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke()", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "label": ".revoke_all_for_user()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke_all_for_user()", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_refresh_token_repository_rationale_1", "label": "Refresh-token repository \u2014 adapter implementing ``app.domain.ports.RefreshTokenR", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Refresh-token repository \u2014 adapter implementing ``app.domain.ports.RefreshTokenR", "community": 58, "community_name": "Refresh Token Repository", "source_file": "app/infrastructure/db/repositories/refresh_token_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository", "label": "track_repository.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "track_repository.py", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 18}, {"id": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "_to_entity()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "SqlAlchemyTrackRepository", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyTrackRepository", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 36}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_init", "label": ".__init__()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_track_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "UUID", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_source", "label": ".get_by_source()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_source()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "label": ".add()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "label": ".materialize()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".materialize()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_delete", "label": ".delete()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_genres", "label": ".genres()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".genres()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "label": ".library_stats()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".library_stats()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "label": ".list()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "label": ".count()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "label": ".update()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".update()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "label": ".apply_enrichment()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".apply_enrichment()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_mark_enrichment_failed", "label": ".mark_enrichment_failed()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".mark_enrichment_failed()", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_track_repository_rationale_1", "label": "Track repository \u2014 adapter over ``AsyncSession``.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Track repository \u2014 adapter over ``AsyncSession``.", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository_rationale_102", "label": "Fill in a remote placeholder's audio fields after a download (lazy mater", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fill in a remote placeholder&#x27;s audio fields after a download (lazy mater", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository_rationale_125", "label": "Distinct non-null genres with their song counts, most common first. Def", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Distinct non-null genres with their song counts, most common first. Def", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository_rationale_140", "label": "One-shot aggregate over the whole catalogue (no pagination). Defined bef", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "One-shot aggregate over the whole catalogue (no pagination). Defined bef", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_track_repository_rationale_334", "label": "Record that an enrichment run crashed (unexpected exception). Runs in it", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Record that an enrichment run crashed (unexpected exception). Runs in it", "community": 12, "community_name": "Library Stats & Track Availability", "source_file": "app/infrastructure/db/repositories/track_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_db_repositories_user_repository", "label": "user_repository.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "user_repository.py", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 11}, {"id": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "_to_entity()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_to_entity()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "SqlAlchemyUserRepository", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 21.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SqlAlchemyUserRepository", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 40}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_init", "label": ".__init__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_user_repository_py_asyncsession", "label": "AsyncSession", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncSession", "community": 27, "community_name": "Credentials & User Repository", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "._get_row()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "._get_row()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "UUID", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 27, "community_name": "Credentials & User Repository", "source_file": "", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_credentials_by_username", "label": ".get_credentials_by_username()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_credentials_by_username()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_add", "label": ".add()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_list", "label": ".list()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_password_hash", "label": ".set_password_hash()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_password_hash()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "label": ".set_superuser()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_superuser()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "label": ".set_active()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_active()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_count", "label": ".count()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_credentials_by_username", "label": ".get_subsonic_credentials_by_username()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_credentials_by_username()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_password_enc", "label": ".get_subsonic_password_enc()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_password_enc()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_subsonic_password_enc", "label": ".set_subsonic_password_enc()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_subsonic_password_enc()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_db_repositories_user_repository_rationale_1", "label": "User repository \u2014 adapter over ``AsyncSession`` implementing ``app.domain.ports.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "User repository \u2014 adapter over ``AsyncSession`` implementing ``app.domain.ports.", "community": 27, "community_name": "Credentials & User Repository", "source_file": "app/infrastructure/db/repositories/user_repository.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_init", "label": "__init__.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 95, "community_name": "Package: metadata-enrichment adapters", "source_file": "app/infrastructure/metadata/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_init_rationale_1", "label": "Metadata-enrichment adapters: tag reader, fingerprinter, AcoustID client.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Metadata-enrichment adapters: tag reader, fingerprinter, AcoustID client.", "community": 95, "community_name": "Package: metadata-enrichment adapters", "source_file": "app/infrastructure/metadata/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_acoustid", "label": "acoustid.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "acoustid.py", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 14}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "AcoustIdHttpClient", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "AcoustIdHttpClient", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 20}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_is_available", "label": ".is_available()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "label": ".lookup()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "label": ".lookup_all()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup_all()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "label": "._lookup_raw()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "._lookup_raw()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_acoustid_acoustidhttpclient_throttle", "label": "._throttle()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "._throttle()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "_parse_best_match()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_best_match()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 11}, {"id": "app_infrastructure_metadata_acoustid_parse_matches", "label": "_parse_matches()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_matches()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_acoustid_parse_one", "label": "_parse_one()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_one()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_acoustid_rationale_1", "label": "AcoustIdHttpClient \u2014 identifies a recording from its Chromaprint fingerprint. O", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AcoustIdHttpClient \u2014 identifies a recording from its Chromaprint fingerprint. O", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_acoustid_rationale_29", "label": "Implements :class:`app.domain.ports.AcoustIdClient`.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.AcoustIdClient`.", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/acoustid.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_cover_extractor", "label": "cover_extractor.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "cover_extractor.py", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "label": "MutagenCoverExtractor", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "MutagenCoverExtractor", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract", "label": ".extract()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".extract()", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_cover_extractor_py_path", "label": "Path", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "label": "._extract_sync()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "._extract_sync()", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_metadata_cover_extractor_from_picture", "label": "_from_picture()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_from_picture()", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_cover_extractor_py_any", "label": "Any", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_cover_extractor_front_or_first", "label": "_front_or_first()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_front_or_first()", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_metadata_cover_extractor_decode_vorbis_picture", "label": "_decode_vorbis_picture()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_decode_vorbis_picture()", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_cover_extractor_rationale_1", "label": "MutagenCoverExtractor \u2014 pulls embedded cover art from a local audio file. The o", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "MutagenCoverExtractor \u2014 pulls embedded cover art from a local audio file. The o", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_cover_extractor_rationale_35", "label": "Implements :class:`app.domain.ports.CoverArtExtractor`.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.CoverArtExtractor`.", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_cover_extractor_rationale_89", "label": "Build a :class:`CoverArt` from a mutagen picture/APIC frame, or ``None``.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a :class:`CoverArt` from a mutagen picture/APIC frame, or ``None``.", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_cover_extractor_rationale_100", "label": "Prefer the front-cover picture (type 3), else the first available.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Prefer the front-cover picture (type 3), else the first available.", "community": 66, "community_name": "Cover Art Extraction (Vorbis/MP4)", "source_file": "app/infrastructure/metadata/cover_extractor.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_coverart", "label": "coverart.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "coverart.py", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_metadata_coverart_coverartarchiveclient", "label": "CoverArtArchiveClient", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "CoverArtArchiveClient", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_metadata_coverart_coverartarchiveclient_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_coverart_coverartarchiveclient_is_available", "label": ".is_available()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_coverart_coverartarchiveclient_fetch_release_group", "label": ".fetch_release_group()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch_release_group()", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_coverart_coverartarchiveclient_throttle", "label": "._throttle()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "._throttle()", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_metadata_coverart_rationale_1", "label": "CoverArtArchiveClient \u2014 fetches front cover art from the Cover Art Archive. The", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CoverArtArchiveClient \u2014 fetches front cover art from the Cover Art Archive. The", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_coverart_rationale_30", "label": "Implements :class:`app.domain.ports.CoverArtProvider`.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.CoverArtProvider`.", "community": 78, "community_name": "Cover Art Archive Client", "source_file": "app/infrastructure/metadata/coverart.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_fingerprint", "label": "fingerprint.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "fingerprint.py", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "FpcalcFingerprinter", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FpcalcFingerprinter", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "code", "degree": 15}, {"id": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_is_available", "label": ".is_available()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_calculate", "label": ".calculate()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".calculate()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_metadata_fingerprint_py_path", "label": "Path", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_metadata_fingerprint_rationale_1", "label": "FpcalcFingerprinter \u2014 Chromaprint fingerprint via the ``fpcalc`` binary. ``fpca", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FpcalcFingerprinter \u2014 Chromaprint fingerprint via the ``fpcalc`` binary. ``fpca", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_fingerprint_rationale_23", "label": "Implements :class:`app.domain.ports.AudioFingerprinter`.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.AudioFingerprinter`.", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/fingerprint.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_tags", "label": "tags.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "tags.py", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 13}, {"id": "app_infrastructure_metadata_tags_first", "label": "_first()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_first()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_metadata_tags_parse_year", "label": "_parse_year()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_year()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_tags_parse_track_number", "label": "_parse_track_number()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_track_number()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_metadata_tags_mutagentagreader", "label": "MutagenTagReader", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "MutagenTagReader", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_metadata_tags_mutagentagreader_read", "label": ".read()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".read()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_metadata_tags_py_path", "label": "Path", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "label": "._read_sync()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "._read_sync()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_metadata_tags_rationale_1", "label": "MutagenTagReader \u2014 reads embedded tags from a local audio file. The offline fir", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "MutagenTagReader \u2014 reads embedded tags from a local audio file. The offline fir", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_tags_rationale_24", "label": "EasyXxx tags expose values as lists; take the first non-empty string.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "EasyXxx tags expose values as lists; take the first non-empty string.", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_metadata_tags_rationale_51", "label": "Implements :class:`app.domain.ports.AudioTagReader`.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.AudioTagReader`.", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/infrastructure/metadata/tags.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_init", "label": "__init__.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 96, "community_name": "Package: source backends", "source_file": "app/infrastructure/sources/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_sources_init_rationale_1", "label": "Source backends \u2014 driven adapters that discover/fetch tracks.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Source backends \u2014 driven adapters that discover/fetch tracks.", "community": 96, "community_name": "Package: source backends", "source_file": "app/infrastructure/sources/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_local_folder", "label": "local_folder.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "local_folder.py", "community": 13, "community_name": "Library Import Service", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_sources_local_folder_localfoldersource", "label": "LocalFolderSource", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "LocalFolderSource", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 17}, {"id": "app_infrastructure_sources_local_folder_localfoldersource_init", "label": ".__init__()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_local_folder_py_path", "label": "Path", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_local_folder_localfoldersource_info", "label": ".info()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".info()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_local_folder_localfoldersource_is_available", "label": ".is_available()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_local_folder_localfoldersource_scan", "label": ".scan()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".scan()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_local_folder_rationale_1", "label": "``local`` source \u2014 indexes audio files from a mounted folder. Walks a configure", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "``local`` source \u2014 indexes audio files from a mounted folder. Walks a configure", "community": 13, "community_name": "Library Import Service", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_local_folder_rationale_23", "label": "Implements :class:`app.domain.ports.IndexableSource`.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.IndexableSource`.", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "app/infrastructure/sources/local_folder.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_registry", "label": "registry.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "registry.py", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 26}, {"id": "app_infrastructure_sources_registry_sourceregistry", "label": "SourceRegistry", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "SourceRegistry", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 26}, {"id": "app_infrastructure_sources_registry_sourceregistry_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_registry_sourceregistry_get", "label": ".get()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".get()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_sources_registry_sourceregistry_indexable", "label": ".indexable()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".indexable()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_registry_sourceregistry_searchable", "label": ".searchable()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".searchable()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_registry_sourceregistry_fetchable", "label": ".fetchable()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetchable()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_registry_sourceregistry_searchables", "label": ".searchables()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".searchables()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_registry_sourceregistry_infos", "label": ".infos()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".infos()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_registry_build_source_registry", "label": "build_source_registry()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "build_source_registry()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/infrastructure/sources/registry.py", "file_type": "code", "degree": 19}, {"id": "app_infrastructure_sources_registry_rationale_1", "label": "Source registry \u2014 selection + enumeration of configured backends. Built from se", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Source registry \u2014 selection + enumeration of configured backends. Built from se", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_registry_rationale_48", "label": "Every registered source that supports search (for cross-source search).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Every registered source that supports search (for cross-source search).", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "app/infrastructure/sources/registry.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_youtube", "label": "youtube.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "youtube.py", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 18}, {"id": "app_infrastructure_sources_youtube_libs_available", "label": "_libs_available()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_libs_available()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_youtube_watch_url", "label": "_watch_url()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_watch_url()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "YouTubeMusicSource", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "YouTubeMusicSource", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 25}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_youtube_py_path", "label": "Path", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 3}, {"id": "searchfn", "label": "SearchFn", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "SearchFn", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 1}, {"id": "downloadfn", "label": "DownloadFn", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "DownloadFn", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_info", "label": ".info()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".info()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_is_available", "label": ".is_available()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_search", "label": ".search()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".search()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_fetch", "label": ".fetch()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_youtube_py_progresscallback", "label": "ProgressCallback", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "ProgressCallback", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_get_metadata", "label": ".get_metadata()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_metadata()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_sources_youtube_youtubemusicsource_to_result", "label": "._to_result()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "._to_result()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_youtube_py_any", "label": "Any", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_sources_youtube_default_search", "label": "_default_search()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_default_search()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_sources_youtube_default_download", "label": "_default_download()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_default_download()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_sources_youtube_rationale_1", "label": "``youtube`` source \u2014 YouTube Music search + download (plan \u00a75). A *fetch* sourc", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "``youtube`` source \u2014 YouTube Music search + download (plan \u00a75). A *fetch* sourc", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_youtube_rationale_59", "label": "Implements :class:`app.domain.ports.SearchableSource` and :class:`~app.domai", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Implements :class:`app.domain.ports.SearchableSource` and :class:`~app.domai", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_youtube_rationale_162", "label": "Real ytmusicapi search (songs only). Runs in a worker thread.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Real ytmusicapi search (songs only). Runs in a worker thread.", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_sources_youtube_rationale_176", "label": "Real yt-dlp download of the best audio stream. Runs in a worker thread. Sto", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Real yt-dlp download of the best audio stream. Runs in a worker thread. Sto", "community": 10, "community_name": "YouTube Source Backend", "source_file": "app/infrastructure/sources/youtube.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_storage_init", "label": "__init__.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 97, "community_name": "Package: storage adapters", "source_file": "app/infrastructure/storage/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_init_rationale_1", "label": "File storage adapters.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File storage adapters.", "community": 97, "community_name": "Package: storage adapters", "source_file": "app/infrastructure/storage/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_storage_local", "label": "local.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "local.py", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 9}, {"id": "app_infrastructure_storage_local_localfilestorage", "label": "LocalFileStorage", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "LocalFileStorage", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 23}, {"id": "app_infrastructure_storage_local_localfilestorage_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_storage_local_py_path", "label": "Path", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_local_localfilestorage_save_file", "label": ".save_file()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_storage_local_localfilestorage_open_range", "label": ".open_range()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".open_range()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_local_localfilestorage_stat", "label": ".stat()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": ".stat()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_storage_local_localfilestorage_exists", "label": ".exists()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".exists()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_local_localfilestorage_delete", "label": ".delete()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_local_localfilestorage_disk_usage", "label": ".disk_usage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".disk_usage()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_storage_local_localfilestorage_as_local_path", "label": ".as_local_path()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".as_local_path()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_local_py_abstractasynccontextmanager", "label": "AbstractAsyncContextManager", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AbstractAsyncContextManager", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_local_localfilestorage_as_local_path_cm", "label": "._as_local_path_cm()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._as_local_path_cm()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_storage_local_rationale_1", "label": "LocalFileStorage \u2014 stores files on the local filesystem.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "LocalFileStorage \u2014 stores files on the local filesystem.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/local.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_storage_provider", "label": "provider.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "provider.py", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/infrastructure/storage/provider.py", "file_type": "code", "degree": 17}, {"id": "app_infrastructure_storage_provider_get_file_storage", "label": "get_file_storage()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "get_file_storage()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/infrastructure/storage/provider.py", "file_type": "code", "degree": 16}, {"id": "app_infrastructure_storage_provider_rationale_1", "label": "File storage provider \u2014 singleton factory wired from config.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "File storage provider \u2014 singleton factory wired from config.", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/infrastructure/storage/provider.py", "file_type": "rationale", "degree": 1}, {"id": "app_infrastructure_storage_s3", "label": "s3.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "s3.py", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 10}, {"id": "app_infrastructure_storage_s3_not_found", "label": "_not_found()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_not_found()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 6}, {"id": "app_infrastructure_storage_s3_py_exception", "label": "Exception", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Exception", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_s3_is_404", "label": "_is_404()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_is_404()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 6}, {"id": "clienterror", "label": "ClientError", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ClientError", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_infrastructure_storage_s3_s3filestorage", "label": "S3FileStorage", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 19.1, "font": {"size": 12, "color": "#ffffff"}, "title": "S3FileStorage", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 31}, {"id": "app_infrastructure_storage_s3_s3filestorage_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_s3_s3filestorage_client", "label": "._client()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "._client()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 8}, {"id": "app_infrastructure_storage_s3_py_any", "label": "Any", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_s3_s3filestorage_save_file", "label": ".save_file()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_storage_s3_py_path", "label": "Path", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_s3_s3filestorage_open_range", "label": ".open_range()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".open_range()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 5}, {"id": "app_infrastructure_storage_s3_s3filestorage_stat", "label": ".stat()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": ".stat()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_storage_s3_s3filestorage_exists", "label": ".exists()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".exists()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_s3_s3filestorage_delete", "label": ".delete()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 3}, {"id": "app_infrastructure_storage_s3_s3filestorage_disk_usage", "label": ".disk_usage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".disk_usage()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_s3_s3filestorage_as_local_path", "label": ".as_local_path()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".as_local_path()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 4}, {"id": "app_infrastructure_storage_s3_py_abstractasynccontextmanager", "label": "AbstractAsyncContextManager", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AbstractAsyncContextManager", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "label": "._as_local_path_cm()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "._as_local_path_cm()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "code", "degree": 7}, {"id": "app_infrastructure_storage_s3_rationale_1", "label": "S3FileStorage \u2014 stores files in any S3-compatible object store.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "S3FileStorage \u2014 stores files in any S3-compatible object store.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "app/infrastructure/storage/s3.py", "file_type": "rationale", "degree": 1}, {"id": "app_main", "label": "main.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "main.py", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/main.py", "file_type": "code", "degree": 17}, {"id": "app_main_lifespan", "label": "lifespan()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "lifespan()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/main.py", "file_type": "code", "degree": 6}, {"id": "app_main_py_fastapi", "label": "FastAPI", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "", "file_type": "code", "degree": 3}, {"id": "app_main_create_app", "label": "create_app()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 18.2, "font": {"size": 12, "color": "#ffffff"}, "title": "create_app()", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/main.py", "file_type": "code", "degree": 28}, {"id": "app_main_rationale_1", "label": "FastAPI composition root: wiring, lifespan, middleware, routers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI composition root: wiring, lifespan, middleware, routers.", "community": 7, "community_name": "Correlation ID Middleware & Config", "source_file": "app/main.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_init", "label": "__init__.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 99, "community_name": "Package: arq worker", "source_file": "app/workers/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_workers_init_rationale_1", "label": "arq worker \u2014 background tasks (downloads, enrichment, transcoding). CPU/IO-heav", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq worker \u2014 background tasks (downloads, enrichment, transcoding). CPU/IO-heav", "community": 99, "community_name": "Package: arq worker", "source_file": "app/workers/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_arq_worker", "label": "arq_worker.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "arq_worker.py", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/arq_worker.py", "file_type": "code", "degree": 17}, {"id": "app_workers_arq_worker_startup", "label": "startup()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "startup()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/arq_worker.py", "file_type": "code", "degree": 4}, {"id": "app_workers_arq_worker_py_any", "label": "Any", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_workers_arq_worker_shutdown", "label": "shutdown()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "shutdown()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/arq_worker.py", "file_type": "code", "degree": 2}, {"id": "app_workers_arq_worker_workersettings", "label": "WorkerSettings", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "WorkerSettings", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/arq_worker.py", "file_type": "code", "degree": 1}, {"id": "app_workers_arq_worker_rationale_1", "label": "arq worker settings \u2014 the queue runtime. Task functions register here. Run with", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq worker settings \u2014 the queue runtime. Task functions register here. Run with", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/arq_worker.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_queue", "label": "queue.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "queue.py", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "code", "degree": 18}, {"id": "app_workers_queue_enqueue", "label": "enqueue()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "enqueue()", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "code", "degree": 12}, {"id": "app_workers_queue_py_any", "label": "Any", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_workers_queue_enqueue_download", "label": "enqueue_download()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "enqueue_download()", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "code", "degree": 7}, {"id": "app_workers_queue_py_uuid", "label": "UUID", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_workers_queue_enqueue_materialize", "label": "enqueue_materialize()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "enqueue_materialize()", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "code", "degree": 7}, {"id": "app_workers_queue_enqueue_enrich", "label": "enqueue_enrich()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "enqueue_enrich()", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "code", "degree": 13}, {"id": "app_workers_queue_rationale_1", "label": "Enqueue helper \u2014 submit a job to the arq queue from the request cycle. A short-", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Enqueue helper \u2014 submit a job to the arq queue from the request cycle. A short-", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_queue_rationale_21", "label": "Enqueue ``function`` by name, returning the job id. Raises :class:`Dependenc", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Enqueue ``function`` by name, returning the job id. Raises :class:`Dependenc", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_queue_rationale_38", "label": "Best-effort enqueue of a download job for the worker. The job row is alread", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Best-effort enqueue of a download job for the worker. The job row is alread", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_queue_rationale_52", "label": "Best-effort enqueue of a materialize job for the worker (plan: Model C lazy", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Best-effort enqueue of a materialize job for the worker (plan: Model C lazy", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_queue_rationale_63", "label": "Best-effort enqueue of metadata enrichment for a freshly stored track. The", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Best-effort enqueue of metadata enrichment for a freshly stored track. The", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/queue.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_init", "label": "__init__.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 100, "community_name": "Package: arq tasks", "source_file": "app/workers/tasks/__init__.py", "file_type": "code", "degree": 1}, {"id": "app_workers_tasks_init_rationale_1", "label": "arq task functions. Registered in ``app.workers.arq_worker.WorkerSettings``.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq task functions. Registered in ``app.workers.arq_worker.WorkerSettings``.", "community": 100, "community_name": "Package: arq tasks", "source_file": "app/workers/tasks/__init__.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_download_task", "label": "download_task.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 20.6, "font": {"size": 12, "color": "#ffffff"}, "title": "download_task.py", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 36}, {"id": "app_workers_tasks_download_task_download_track", "label": "download_track()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "download_track()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 15}, {"id": "app_workers_tasks_download_task_py_any", "label": "Any", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 2}, {"id": "app_workers_tasks_download_task_run_fetch", "label": "_run_fetch()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_run_fetch()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 10}, {"id": "app_workers_tasks_download_task_py_uuid", "label": "UUID", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 8}, {"id": "app_workers_tasks_download_task_import_result", "label": "_import_result()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_import_result()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 11}, {"id": "app_workers_tasks_download_task_handle_failure", "label": "_handle_failure()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_handle_failure()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 10}, {"id": "app_workers_tasks_download_task_py_exception", "label": "Exception", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Exception", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_workers_tasks_download_task_load_job", "label": "_load_job()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_job()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 8}, {"id": "app_workers_tasks_download_task_set_status", "label": "_set_status()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_set_status()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 5}, {"id": "app_workers_tasks_download_task_mark_failed", "label": "_mark_failed()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_mark_failed()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "code", "degree": 8}, {"id": "app_workers_tasks_download_task_rationale_1", "label": "arq task: download one queued job through a fetch source (plan \u00a76.1). Flow: loa", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq task: download one queued job through a fetch source (plan \u00a76.1). Flow: loa", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_download_task_rationale_87", "label": "Fetch the file, streaming progress into the job row. A single session is hel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch the file, streaming progress into the job row. A single session is hel", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/download_task.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_enrich_task", "label": "enrich_task.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.4, "font": {"size": 12, "color": "#ffffff"}, "title": "enrich_task.py", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/workers/tasks/enrich_task.py", "file_type": "code", "degree": 25}, {"id": "app_workers_tasks_enrich_task_enrich_track", "label": "enrich_track()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "enrich_track()", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "app/workers/tasks/enrich_task.py", "file_type": "code", "degree": 15}, {"id": "app_workers_tasks_enrich_task_py_any", "label": "Any", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 77, "community_name": "Alembic Migration Environment", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_workers_tasks_enrich_task_rationale_1", "label": "arq task: enrich one track's metadata (plan \u00a76.2, \u00a71D). Wires the \u00a76.2 pipeline", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq task: enrich one track&#x27;s metadata (plan \u00a76.2, \u00a71D). Wires the \u00a76.2 pipeline", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "app/workers/tasks/enrich_task.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_import_task", "label": "import_task.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "import_task.py", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/tasks/import_task.py", "file_type": "code", "degree": 18}, {"id": "app_workers_tasks_import_task_scan_local_folder", "label": "scan_local_folder()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "scan_local_folder()", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/tasks/import_task.py", "file_type": "code", "degree": 13}, {"id": "app_workers_tasks_import_task_py_any", "label": "Any", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_workers_tasks_import_task_rationale_1", "label": "arq task: scan an indexable source and import its files into the library. Heavy", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq task: scan an indexable source and import its files into the library. Heavy", "community": 39, "community_name": "Artist Schemas & Endpoints", "source_file": "app/workers/tasks/import_task.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_materialize_task", "label": "materialize_task.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "materialize_task.py", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "code", "degree": 29}, {"id": "app_workers_tasks_materialize_task_materialize_track", "label": "materialize_track()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "materialize_track()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "code", "degree": 15}, {"id": "app_workers_tasks_materialize_task_py_any", "label": "Any", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_workers_tasks_materialize_task_materialize_result", "label": "_materialize_result()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_materialize_result()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "code", "degree": 9}, {"id": "app_workers_tasks_materialize_task_py_uuid", "label": "UUID", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "", "file_type": "code", "degree": 4}, {"id": "app_workers_tasks_materialize_task_set_status", "label": "_set_status()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_set_status()", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "code", "degree": 5}, {"id": "app_workers_tasks_materialize_task_rationale_1", "label": "arq task: materialize a remote placeholder track (plan: Model C). Counterpart t", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "arq task: materialize a remote placeholder track (plan: Model C). Counterpart t", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "rationale", "degree": 1}, {"id": "app_workers_tasks_materialize_task_rationale_77", "label": "Store the downloaded file and fill in the placeholder track in place.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Store the downloaded file and fill in the placeholder track in place.", "community": 31, "community_name": "Worker Session Scope & Download Task", "source_file": "app/workers/tasks/materialize_task.py", "file_type": "rationale", "degree": 1}, {"id": "tests_init", "label": "__init__.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 113, "community_name": "Package: workers", "source_file": "tests/__init__.py", "file_type": "code", "degree": 0}, {"id": "tests_conftest", "label": "conftest.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "conftest.py", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 7}, {"id": "tests_conftest_base_database_url", "label": "_base_database_url()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_base_database_url()", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 2}, {"id": "tests_conftest_with_database", "label": "_with_database()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_with_database()", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 3}, {"id": "tests_conftest_create_test_db_if_missing", "label": "_create_test_db_if_missing()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_create_test_db_if_missing()", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 4}, {"id": "tests_conftest_ensure_test_database", "label": "_ensure_test_database()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_ensure_test_database()", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 3}, {"id": "tests_conftest_client", "label": "client()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "client()", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "code", "degree": 3}, {"id": "tests_conftest_py_asyncclient", "label": "AsyncClient", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_conftest_rationale_1", "label": "Shared test fixtures. The ASGI app is driven in-process via httpx + asgi-lifesp", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared test fixtures. The ASGI app is driven in-process via httpx + asgi-lifesp", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_rationale_39", "label": "Resolve the DB URL the app *would* use, mirroring pydantic-settings preceden", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve the DB URL the app *would* use, mirroring pydantic-settings preceden", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_rationale_53", "label": "Return ``url`` with its database name swapped for ``name``.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Return ``url`` with its database name swapped for ``name``.", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_rationale_68", "label": "Create ``<db>_test`` if the server is reachable. Best-effort: if Postgres is", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Create ``&lt;db&gt;_test`` if the server is reachable. Best-effort: if Postgres is", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_rationale_93", "label": "Guarantee the dedicated test database exists once per session.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Guarantee the dedicated test database exists once per session.", "community": 64, "community_name": "Test DB Fixtures (conftest)", "source_file": "tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_fakes", "label": "fakes.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "fakes.py", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 13}, {"id": "tests_fakes_stored", "label": "_Stored", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_Stored", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository", "label": "InMemoryUserRepository", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "InMemoryUserRepository", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 21}, {"id": "tests_fakes_inmemoryuserrepository_init", "label": ".__init__()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 1}, {"id": "tests_fakes_inmemoryuserrepository_get_by_id", "label": ".get_by_id()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 3}, {"id": "tests_fakes_py_uuid", "label": "UUID", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "", "file_type": "code", "degree": 11}, {"id": "tests_fakes_inmemoryuserrepository_get_credentials_by_username", "label": ".get_credentials_by_username()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_credentials_by_username()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository_add", "label": ".add()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 3}, {"id": "tests_fakes_inmemoryuserrepository_list", "label": ".list()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".list()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository_set_password_hash", "label": ".set_password_hash()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_password_hash()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository_set_superuser", "label": ".set_superuser()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_superuser()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 3}, {"id": "tests_fakes_inmemoryuserrepository_set_active", "label": ".set_active()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_active()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 3}, {"id": "tests_fakes_inmemoryuserrepository_count", "label": ".count()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".count()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 1}, {"id": "tests_fakes_inmemoryuserrepository_get_subsonic_credentials_by_username", "label": ".get_subsonic_credentials_by_username()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_credentials_by_username()", "community": 27, "community_name": "Credentials & User Repository", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository_get_subsonic_password_enc", "label": ".get_subsonic_password_enc()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_subsonic_password_enc()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryuserrepository_set_subsonic_password_enc", "label": ".set_subsonic_password_enc()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_subsonic_password_enc()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_token", "label": "_Token", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_Token", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryrefreshtokenrepository", "label": "InMemoryRefreshTokenRepository", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "InMemoryRefreshTokenRepository", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 10}, {"id": "tests_fakes_inmemoryrefreshtokenrepository_init", "label": ".__init__()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 1}, {"id": "tests_fakes_inmemoryrefreshtokenrepository_add", "label": ".add()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 4}, {"id": "tests_fakes_py_datetime", "label": "datetime", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "datetime", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryrefreshtokenrepository_is_valid", "label": ".is_valid()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_valid()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryrefreshtokenrepository_revoke", "label": ".revoke()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_inmemoryrefreshtokenrepository_revoke_all_for_user", "label": ".revoke_all_for_user()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".revoke_all_for_user()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "code", "degree": 2}, {"id": "tests_fakes_rationale_1", "label": "In-memory port implementations for fast, DB-free unit tests.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "In-memory port implementations for fast, DB-free unit tests.", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/fakes.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_acoustid_parse", "label": "test_acoustid_parse.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_acoustid_parse.py", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 10}, {"id": "tests_test_acoustid_parse_payload_with_results", "label": "_payload_with_results()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_payload_with_results()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 5}, {"id": "tests_test_acoustid_parse_test_parses_full_recording", "label": "test_parses_full_recording()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parses_full_recording()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 3}, {"id": "tests_test_acoustid_parse_test_picks_highest_score", "label": "test_picks_highest_score()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_picks_highest_score()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 3}, {"id": "tests_test_acoustid_parse_test_result_without_recordings_still_returns_id", "label": "test_result_without_recordings_still_returns_id()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_result_without_recordings_still_returns_id()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 3}, {"id": "tests_test_acoustid_parse_test_error_status_returns_none", "label": "test_error_status_returns_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_error_status_returns_none()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 2}, {"id": "tests_test_acoustid_parse_test_empty_results_returns_none", "label": "test_empty_results_returns_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_empty_results_returns_none()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 3}, {"id": "tests_test_acoustid_parse_test_non_dict_payload_returns_none", "label": "test_non_dict_payload_returns_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_non_dict_payload_returns_none()", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "code", "degree": 2}, {"id": "tests_test_acoustid_parse_rationale_1", "label": "Unit tests for the AcoustID response parser \u2014 pure, no network.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the AcoustID response parser \u2014 pure, no network.", "community": 68, "community_name": "AcoustID Response Parser Tests", "source_file": "tests/test_acoustid_parse.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_api", "label": "test_auth_api.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_auth_api.py", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 27}, {"id": "tests_test_auth_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_api", "label": "api()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 11}, {"id": "tests_test_auth_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "", "file_type": "code", "degree": 14}, {"id": "tests_test_auth_api_login", "label": "_login()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 8}, {"id": "tests_test_auth_api_test_login_and_me", "label": "test_login_and_me()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_and_me()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_login_bad_credentials", "label": "test_login_bad_credentials()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_bad_credentials()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_api_test_me_requires_token", "label": "test_me_requires_token()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_me_requires_token()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_api_test_refresh_rotation", "label": "test_refresh_rotation()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_refresh_rotation()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_logout_revokes", "label": "test_logout_revokes()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_logout_revokes()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_admin_creates_user_and_nonadmin_forbidden", "label": "test_admin_creates_user_and_nonadmin_forbidden()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_admin_creates_user_and_nonadmin_forbidden()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_admin_create_duplicate_conflicts", "label": "test_admin_create_duplicate_conflicts()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_admin_create_duplicate_conflicts()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_register_creates_user_and_logs_in", "label": "test_register_creates_user_and_logs_in()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_creates_user_and_logs_in()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_api_test_register_duplicate_conflicts", "label": "test_register_duplicate_conflicts()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_duplicate_conflicts()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_api_test_register_short_password_rejected", "label": "test_register_short_password_rejected()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_short_password_rejected()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_api_test_register_disabled_forbidden", "label": "test_register_disabled_forbidden()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_register_disabled_forbidden()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_test_deactivated_user_cannot_login", "label": "test_deactivated_user_cannot_login()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_deactivated_user_cannot_login()", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_api_rationale_1", "label": "Integration tests for the auth + admin HTTP surface. These require a reachable", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the auth + admin HTTP surface. These require a reachable", "community": 50, "community_name": "Auth API Integration Tests", "source_file": "tests/test_auth_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_service", "label": "test_auth_service.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_auth_service.py", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 24}, {"id": "tests_test_auth_service_env", "label": "env()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "env()", "community": 36, "community_name": "In-Memory Auth Repository Fakes", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 8}, {"id": "tests_test_auth_service_test_login_success_then_authenticate", "label": "test_login_success_then_authenticate()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_success_then_authenticate()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_service_test_login_wrong_password", "label": "test_login_wrong_password()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_wrong_password()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_login_unknown_user", "label": "test_login_unknown_user()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_unknown_user()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_login_inactive_user", "label": "test_login_inactive_user()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_inactive_user()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_refresh_rotates_and_invalidates_old", "label": "test_refresh_rotates_and_invalidates_old()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_refresh_rotates_and_invalidates_old()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_access_token_not_accepted_as_refresh", "label": "test_access_token_not_accepted_as_refresh()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_access_token_not_accepted_as_refresh()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_logout_revokes_refresh", "label": "test_logout_revokes_refresh()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_logout_revokes_refresh()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_service_test_logout_ignores_garbage", "label": "test_logout_ignores_garbage()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_logout_ignores_garbage()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_service_rationale_1", "label": "Unit tests for AuthService using in-memory ports.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for AuthService using in-memory ports.", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_auth_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cover_api", "label": "test_cover_api.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 17.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_cover_api.py", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 27}, {"id": "tests_test_cover_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cover_api_seed_album_with_cover", "label": "_seed_album_with_cover()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_seed_album_with_cover()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 14}, {"id": "tests_test_cover_api_py_uuid", "label": "UUID", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 51, "community_name": "Cover API Tests", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_cover_api_api", "label": "api()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_cover_api_py_path", "label": "Path", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 51, "community_name": "Cover API Tests", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_cover_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 51, "community_name": "Cover API Tests", "source_file": "", "file_type": "code", "degree": 7}, {"id": "tests_test_cover_api_login", "label": "_login()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 6}, {"id": "tests_test_cover_api_test_album_cover_served", "label": "test_album_cover_served()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_album_cover_served()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cover_api_test_track_cover_served_from_album", "label": "test_track_cover_served_from_album()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_track_cover_served_from_album()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cover_api_test_album_without_cover_is_404", "label": "test_album_without_cover_is_404()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_album_without_cover_is_404()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cover_api_test_cover_requires_auth", "label": "test_cover_requires_auth()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cover_requires_auth()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cover_api_test_album_appears_with_has_cover_flag", "label": "test_album_appears_with_has_cover_flag()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_album_appears_with_has_cover_flag()", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cover_api_rationale_1", "label": "Integration tests for the native cover-art endpoints. Seeds an album with a sto", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the native cover-art endpoints. Seeds an album with a sto", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cover_api_rationale_56", "label": "Create an artist + album (+ optional cover file) + track. Returns ``(album_i", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Create an artist + album (+ optional cover file) + track. Returns ``(album_i", "community": 51, "community_name": "Cover API Tests", "source_file": "tests/test_cover_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_download_service", "label": "test_download_service.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_download_service.py", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 20}, {"id": "tests_test_download_service_fakeartistrepo", "label": "FakeArtistRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeArtistRepo", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_download_service_fakeartistrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_faketrackrepo", "label": "FakeTrackRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeTrackRepo", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_download_service_faketrackrepo_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_download_service_faketrackrepo_get_by_source", "label": ".get_by_source()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_source()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_faketrackrepo_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_fakestorage", "label": "FakeStorage", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeStorage", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_download_service_fakestorage_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_download_service_fakestorage_save_file", "label": ".save_file()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_py_path", "label": "Path", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 25, "community_name": "Download Service Tests", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_fakestorage_delete", "label": ".delete()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_download_service_fakejobrepo", "label": "FakeJobRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeJobRepo", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 15}, {"id": "tests_test_download_service_fakejobrepo_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_download_service_fakejobrepo_make", "label": "._make()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "._make()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_download_service_fakejobrepo_add", "label": ".add()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_download_service_fakejobrepo_get_by_id", "label": ".get_by_id()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_download_service_py_uuid", "label": "UUID", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 25, "community_name": "Download Service Tests", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_download_service_fakejobrepo_get_active_for_source", "label": ".get_active_for_source()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_active_for_source()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_fakejobrepo_set_status", "label": ".set_status()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_status()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_fakejobrepo_delete", "label": ".delete()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_download_service_service", "label": "_service()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_service()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 12}, {"id": "tests_test_download_service_track", "label": "_track()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_track()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_download_service_test_request_dedups_against_library", "label": "test_request_dedups_against_library()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_request_dedups_against_library()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_download_service_test_request_returns_existing_active_job", "label": "test_request_returns_existing_active_job()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_request_returns_existing_active_job()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "label": "test_request_creates_and_enqueues_new_job()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_request_creates_and_enqueues_new_job()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "label": "test_store_result_imports_and_cleans_temp()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_store_result_imports_and_cleans_temp()", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "code", "degree": 7}, {"id": "tests_test_download_service_rationale_1", "label": "Unit tests for DownloadService \u2014 DB-free, in-memory fakes.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for DownloadService \u2014 DB-free, in-memory fakes.", "community": 25, "community_name": "Download Service Tests", "source_file": "tests/test_download_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_downloads_api", "label": "test_downloads_api.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_downloads_api.py", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 30}, {"id": "tests_test_downloads_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_fakefetchsource", "label": "FakeFetchSource", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "FakeFetchSource", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 17}, {"id": "tests_test_downloads_api_fakefetchsource_init", "label": ".__init__()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_downloads_api_py_path", "label": "Path", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 34, "community_name": "Downloads API Tests", "source_file": "", "file_type": "code", "degree": 4}, {"id": "tests_test_downloads_api_fakefetchsource_info", "label": ".info()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".info()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_downloads_api_fakefetchsource_is_available", "label": ".is_available()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_downloads_api_fakefetchsource_search", "label": ".search()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".search()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_downloads_api_fakefetchsource_fetch", "label": ".fetch()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_py_any", "label": "Any", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 34, "community_name": "Downloads API Tests", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_downloads_api_fakefetchsource_get_metadata", "label": ".get_metadata()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_metadata()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_downloads_api_api", "label": "api()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 14}, {"id": "tests_test_downloads_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 34, "community_name": "Downloads API Tests", "source_file": "", "file_type": "code", "degree": 9}, {"id": "tests_test_downloads_api_login", "label": "_login()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 9}, {"id": "tests_test_downloads_api_test_search_aggregates_fetch_sources", "label": "test_search_aggregates_fetch_sources()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_aggregates_fetch_sources()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_test_search_reports_library_status", "label": "test_search_reports_library_status()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_reports_library_status()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_downloads_api_test_save_remote_is_idempotent", "label": "test_save_remote_is_idempotent()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_remote_is_idempotent()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_test_materialize_flow", "label": "test_materialize_flow()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_materialize_flow()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 8}, {"id": "monkeypatch", "label": "MonkeyPatch", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "MonkeyPatch", "community": 34, "community_name": "Downloads API Tests", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_downloads_api_test_source_scoped_search", "label": "test_source_scoped_search()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_source_scoped_search()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_test_download_create_list_and_complete", "label": "test_download_create_list_and_complete()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_download_create_list_and_complete()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 7}, {"id": "tests_test_downloads_api_test_cancel_download", "label": "test_cancel_download()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cancel_download()", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_downloads_api_rationale_1", "label": "Integration tests for downloads + external search. Requires a reachable Postgre", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for downloads + external search. Requires a reachable Postgre", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_downloads_api_rationale_48", "label": "A searchable + fetchable source that writes a local file (no network).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A searchable + fetchable source that writes a local file (no network).", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_downloads_api_rationale_168", "label": "Remote browse (plan: Model C) \u2014 a fresh hit isn't in the library; after savi", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Remote browse (plan: Model C) \u2014 a fresh hit isn&#x27;t in the library; after savi", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_downloads_api_rationale_217", "label": "Save a placeholder, materialize it on demand, and confirm it streams afterwa", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Save a placeholder, materialize it on demand, and confirm it streams afterwa", "community": 34, "community_name": "Downloads API Tests", "source_file": "tests/test_downloads_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_health", "label": "test_health.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health.py", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "tests/test_health.py", "file_type": "code", "degree": 4}, {"id": "tests_test_health_test_liveness_ok", "label": "test_liveness_ok()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_liveness_ok()", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_py_asyncclient", "label": "AsyncClient", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "", "file_type": "code", "degree": 3}, {"id": "tests_test_health_test_correlation_id_echoed", "label": "test_correlation_id_echoed()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_correlation_id_echoed()", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_test_readiness_reports_checks", "label": "test_readiness_reports_checks()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_readiness_reports_checks()", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_rationale_1", "label": "Smoke tests for the health endpoints.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Smoke tests for the health endpoints.", "community": 79, "community_name": "Health Endpoint Smoke Tests", "source_file": "tests/test_health.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_service", "label": "test_import_service.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "test_import_service.py", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 17}, {"id": "tests_test_import_service_fakeartistrepo", "label": "FakeArtistRepo", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeArtistRepo", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 7}, {"id": "tests_test_import_service_fakeartistrepo_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_service_fakeartistrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_faketrackrepo", "label": "FakeTrackRepo", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeTrackRepo", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_import_service_faketrackrepo_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_service_faketrackrepo_get_by_source", "label": ".get_by_source()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_source()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_faketrackrepo_add", "label": ".add()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_fakestorage", "label": "FakeStorage", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeStorage", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_import_service_fakestorage_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_service_fakestorage_save_file", "label": ".save_file()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_py_path", "label": "Path", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 13, "community_name": "Library Import Service", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_fakestorage_delete", "label": ".delete()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".delete()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_service_fakesource", "label": "FakeSource", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeSource", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_import_service_fakesource_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_fakesource_info", "label": ".info()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".info()", "community": 8, "community_name": "Auth Services (native + Subsonic)", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_fakesource_is_available", "label": ".is_available()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_service_fakesource_scan", "label": ".scan()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".scan()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_service_file", "label": "_file()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_file()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_import_service_service", "label": "_service()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_service()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 8}, {"id": "tests_test_import_service_test_imports_new_files", "label": "test_imports_new_files()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_imports_new_files()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_import_service_test_dedup_skips_already_imported", "label": "test_dedup_skips_already_imported()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_dedup_skips_already_imported()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 7}, {"id": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "label": "test_per_file_failure_is_isolated_and_rolls_back_storage()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_per_file_failure_is_isolated_and_rolls_back_storage()", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_import_service_rationale_1", "label": "Unit tests for LibraryImportService \u2014 DB-free, in-memory fakes.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for LibraryImportService \u2014 DB-free, in-memory fakes.", "community": 13, "community_name": "Library Import Service", "source_file": "tests/test_import_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lazy_materialization_repos", "label": "test_lazy_materialization_repos.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "test_lazy_materialization_repos.py", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 16}, {"id": "tests_test_lazy_materialization_repos_db_reachable", "label": "_db_reachable()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 3}, {"id": "tests_test_lazy_materialization_repos_db", "label": "db()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "db()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 4}, {"id": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "label": "test_placeholder_track_materializes_in_place()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_placeholder_track_materializes_in_place()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 5}, {"id": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_dedups_by_remote_id", "label": "test_artist_get_or_create_remote_dedups_by_remote_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_artist_get_or_create_remote_dedups_by_remote_id()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 3}, {"id": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_binds_existing_local_artist", "label": "test_artist_get_or_create_remote_binds_existing_local_artist()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_artist_get_or_create_remote_binds_existing_local_artist()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 3}, {"id": "tests_test_lazy_materialization_repos_test_album_get_or_create_remote_dedups_by_remote_id", "label": "test_album_get_or_create_remote_dedups_by_remote_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_album_get_or_create_remote_dedups_by_remote_id()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "code", "degree": 4}, {"id": "tests_test_lazy_materialization_repos_rationale_1", "label": "Integration tests for the lazy-materialization foundation: ``TrackRepository.mat", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the lazy-materialization foundation: ``TrackRepository.mat", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lazy_materialization_repos_rationale_60", "label": "A remote placeholder (no storage) gets its audio fields filled in by ``mater", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "A remote placeholder (no storage) gets its audio fields filled in by ``mater", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_lazy_materialization_repos.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_local_folder_source", "label": "test_local_folder_source.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_local_folder_source.py", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 14}, {"id": "tests_test_local_folder_source_settings", "label": "_settings()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_settings()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 4}, {"id": "tests_test_local_folder_source_test_scan_discovers_audio_recursively", "label": "test_scan_discovers_audio_recursively()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_scan_discovers_audio_recursively()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_local_folder_source_py_path", "label": "Path", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_local_folder_source_test_source_id_is_stable_relative_path", "label": "test_source_id_is_stable_relative_path()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_source_id_is_stable_relative_path()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_local_folder_source_test_is_available_false_when_missing", "label": "test_is_available_false_when_missing()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_is_available_false_when_missing()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_local_folder_source_test_info_reports_kind_and_availability", "label": "test_info_reports_kind_and_availability()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_info_reports_kind_and_availability()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_local_folder_source_test_registry_registers_local_when_path_set", "label": "test_registry_registers_local_when_path_set()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_registry_registers_local_when_path_set()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 4}, {"id": "tests_test_local_folder_source_test_registry_empty_when_path_unset", "label": "test_registry_empty_when_path_unset()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_registry_empty_when_path_unset()", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_local_folder_source_rationale_1", "label": "Unit tests for the local-folder source + registry (no DB, no network).", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the local-folder source + registry (no DB, no network).", "community": 47, "community_name": "Local Folder Source Backend", "source_file": "tests/test_local_folder_source.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_metadata_api", "label": "test_metadata_api.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "test_metadata_api.py", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 22}, {"id": "tests_test_metadata_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_api_api", "label": "api()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_metadata_api_py_path", "label": "Path", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 54, "community_name": "Metadata API Tests", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 54, "community_name": "Metadata API Tests", "source_file": "", "file_type": "code", "degree": 9}, {"id": "tests_test_metadata_api_login", "label": "_login()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 8}, {"id": "tests_test_metadata_api_upload", "label": "_upload()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_upload()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 6}, {"id": "tests_test_metadata_api_test_track_out_includes_genre_year_track_number", "label": "test_track_out_includes_genre_year_track_number()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_track_out_includes_genre_year_track_number()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_api_test_metadata_matches_degrades_without_acoustid", "label": "test_metadata_matches_degrades_without_acoustid()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_metadata_matches_degrades_without_acoustid()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_api_test_metadata_matches_not_found", "label": "test_metadata_matches_not_found()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_metadata_matches_not_found()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_api_test_apply_metadata_updates_fields_and_sets_manual", "label": "test_apply_metadata_updates_fields_and_sets_manual()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_metadata_updates_fields_and_sets_manual()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_api_test_apply_metadata_partial_update", "label": "test_apply_metadata_partial_update()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_metadata_partial_update()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_api_test_apply_metadata_not_found", "label": "test_apply_metadata_not_found()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_metadata_not_found()", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_api_rationale_1", "label": "Integration tests for the metadata-editor endpoints (\u00a7A7, \u00a71H). Requires a reac", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the metadata-editor endpoints (\u00a7A7, \u00a71H). Requires a reac", "community": 54, "community_name": "Metadata API Tests", "source_file": "tests/test_metadata_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_metadata_service", "label": "test_metadata_service.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 22.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_metadata_service.py", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 41}, {"id": "tests_test_metadata_service_track", "label": "_track()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 16.2, "font": {"size": 12, "color": "#ffffff"}, "title": "_track()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 21}, {"id": "tests_test_metadata_service_faketrackrepo", "label": "FakeTrackRepo", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeTrackRepo", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_metadata_service_faketrackrepo_init", "label": ".__init__()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_faketrackrepo_get_by_id", "label": ".get_by_id()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_py_uuid", "label": "UUID", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_metadata_service_faketrackrepo_apply_enrichment", "label": ".apply_enrichment()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".apply_enrichment()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakeartistrepo", "label": "FakeArtistRepo", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeArtistRepo", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 10}, {"id": "tests_test_metadata_service_fakeartistrepo_init", "label": ".__init__()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakeartistrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakealbumrepo", "label": "FakeAlbumRepo", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeAlbumRepo", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_metadata_service_fakealbumrepo_init", "label": ".__init__()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakealbumrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakealbumrepo_set_cover_path", "label": ".set_cover_path()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_cover_path()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakestorage", "label": "FakeStorage", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeStorage", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_metadata_service_fakestorage_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakestorage_as_local_path", "label": ".as_local_path()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".as_local_path()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_py_path", "label": "Path", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_metadata_service_fakestorage_save_file", "label": ".save_file()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".save_file()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakecoverextractor", "label": "FakeCoverExtractor", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeCoverExtractor", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 14}, {"id": "tests_test_metadata_service_fakecoverextractor_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakecoverextractor_extract", "label": ".extract()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".extract()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakecoverprovider", "label": "FakeCoverProvider", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.8, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeCoverProvider", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 13}, {"id": "tests_test_metadata_service_fakecoverprovider_init", "label": ".__init__()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakecoverprovider_is_available", "label": ".is_available()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakecoverprovider_fetch_release_group", "label": ".fetch_release_group()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".fetch_release_group()", "community": 18, "community_name": "Metadata Enrichment Service", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_faketagreader", "label": "FakeTagReader", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeTagReader", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 10}, {"id": "tests_test_metadata_service_faketagreader_init", "label": ".__init__()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_faketagreader_read", "label": ".read()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".read()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakefingerprinter", "label": "FakeFingerprinter", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeFingerprinter", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 11}, {"id": "tests_test_metadata_service_fakefingerprinter_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakefingerprinter_is_available", "label": ".is_available()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakefingerprinter_calculate", "label": ".calculate()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".calculate()", "community": 71, "community_name": "Auth Token Issue/Refresh Flow", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakeacoustid", "label": "FakeAcoustId", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeAcoustId", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 12}, {"id": "tests_test_metadata_service_fakeacoustid_init", "label": ".__init__()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_fakeacoustid_is_available", "label": ".is_available()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".is_available()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_metadata_service_fakeacoustid_lookup", "label": ".lookup()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_fakeacoustid_lookup_all", "label": ".lookup_all()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".lookup_all()", "community": 23, "community_name": "Metadata Enrichment Value Objects", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_service", "label": "_service()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "_service()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 23}, {"id": "tests_test_metadata_service_test_tags_only_enriches_and_relinks_artist_and_album", "label": "test_tags_only_enriches_and_relinks_artist_and_album()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_tags_only_enriches_and_relinks_artist_and_album()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_service_test_manual_track_is_never_touched", "label": "test_manual_track_is_never_touched()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_manual_track_is_never_touched()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_service_test_missing_track_is_a_clean_noop", "label": "test_missing_track_is_a_clean_noop()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_missing_track_is_a_clean_noop()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_metadata_service_test_nothing_found_marks_failed", "label": "test_nothing_found_marks_failed()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_nothing_found_marks_failed()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_test_failed_reason_names_unavailable_fingerprinter", "label": "test_failed_reason_names_unavailable_fingerprinter()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_failed_reason_names_unavailable_fingerprinter()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_metadata_service_test_successful_enrich_clears_error", "label": "test_successful_enrich_clears_error()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_successful_enrich_clears_error()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "label": "test_acoustid_path_fills_when_tags_absent()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_acoustid_path_fills_when_tags_absent()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "label": "test_tags_win_over_low_confidence_acoustid()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_tags_win_over_low_confidence_acoustid()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "label": "test_high_confidence_acoustid_wins_over_junk_tags()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_high_confidence_acoustid_wins_over_junk_tags()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "label": "test_fingerprint_skipped_when_acoustid_unavailable()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fingerprint_skipped_when_acoustid_unavailable()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_metadata_service_cover_service", "label": "_cover_service()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 15.9, "font": {"size": 12, "color": "#ffffff"}, "title": "_cover_service()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 20}, {"id": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "label": "test_cover_extracted_from_embedded_art()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cover_extracted_from_embedded_art()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_metadata_service_test_cover_falls_back_to_archive", "label": "test_cover_falls_back_to_archive()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cover_falls_back_to_archive()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 8}, {"id": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "label": "test_cover_not_fetched_without_release_group()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cover_not_fetched_without_release_group()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "label": "test_existing_cover_is_not_overwritten()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_existing_cover_is_not_overwritten()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_metadata_service_test_cover_skipped_when_no_album", "label": "test_cover_skipped_when_no_album()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cover_skipped_when_no_album()", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_metadata_service_rationale_1", "label": "Unit tests for MetadataEnrichmentService \u2014 DB-free, in-memory fakes. Covers the", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for MetadataEnrichmentService \u2014 DB-free, in-memory fakes. Covers the", "community": 9, "community_name": "Audio Tags & Metadata Test Fakes", "source_file": "tests/test_metadata_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_playlists_api", "label": "test_playlists_api.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_playlists_api.py", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 24}, {"id": "tests_test_playlists_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_playlists_api_api", "label": "api()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_playlists_api_py_path", "label": "Path", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_playlists_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "", "file_type": "code", "degree": 11}, {"id": "tests_test_playlists_api_login", "label": "_login()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 9}, {"id": "tests_test_playlists_api_upload", "label": "_upload()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_upload()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 8}, {"id": "tests_test_playlists_api_create_playlist", "label": "_create_playlist()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_create_playlist()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 9}, {"id": "tests_test_playlists_api_py_any", "label": "Any", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_playlists_api_test_playlist_lifecycle", "label": "test_playlist_lifecycle()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_playlist_lifecycle()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_playlists_api_test_add_track_idempotent", "label": "test_add_track_idempotent()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_add_track_idempotent()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 5}, {"id": "tests_test_playlists_api_test_remove_track", "label": "test_remove_track()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_remove_track()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 5}, {"id": "tests_test_playlists_api_test_reorder_happy_path", "label": "test_reorder_happy_path()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reorder_happy_path()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 5}, {"id": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "label": "test_reorder_bad_id_set_returns_422()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reorder_bad_id_set_returns_422()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 5}, {"id": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "label": "test_reorder_by_non_owner_returns_403()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reorder_by_non_owner_returns_403()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 5}, {"id": "tests_test_playlists_api_test_unknown_playlist_returns_404", "label": "test_unknown_playlist_returns_404()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_unknown_playlist_returns_404()", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_playlists_api_rationale_1", "label": "Integration tests for the v1 playlist API. Requires a reachable Postgres; skips", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the v1 playlist API. Requires a reachable Postgres; skips", "community": 48, "community_name": "Track Metadata Match Schemas", "source_file": "tests/test_playlists_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_real_file_enrichment", "label": "test_real_file_enrichment.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_real_file_enrichment.py", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 26}, {"id": "tests_test_real_file_enrichment_acoustid_client", "label": "_acoustid_client()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_acoustid_client()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 4}, {"id": "tests_test_real_file_enrichment_test_real_file_embedded_tags_are_read", "label": "test_real_file_embedded_tags_are_read()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_real_file_embedded_tags_are_read()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_test_real_file_identified_by_acoustid", "label": "test_real_file_identified_by_acoustid()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_real_file_identified_by_acoustid()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "label": "test_real_file_enrichment_overrides_junk_tags()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_real_file_enrichment_overrides_junk_tags()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 10}, {"id": "tests_test_real_file_enrichment_pending_track", "label": "_pending_track()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_pending_track()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_fixturestorage", "label": "_FixtureStorage", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_FixtureStorage", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 7}, {"id": "tests_test_real_file_enrichment_fixturestorage_as_local_path", "label": ".as_local_path()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".as_local_path()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 2}, {"id": "tests_test_real_file_enrichment_py_path", "label": "Path", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_real_file_enrichment_faketrackrepo", "label": "_FakeTrackRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeTrackRepo", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 9}, {"id": "tests_test_real_file_enrichment_faketrackrepo_init", "label": ".__init__()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 2}, {"id": "tests_test_real_file_enrichment_faketrackrepo_get_by_id", "label": ".get_by_id()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_py_uuid", "label": "UUID", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_real_file_enrichment_faketrackrepo_apply_enrichment", "label": ".apply_enrichment()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".apply_enrichment()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_fakeartistrepo", "label": "_FakeArtistRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeArtistRepo", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 7}, {"id": "tests_test_real_file_enrichment_fakeartistrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 2}, {"id": "tests_test_real_file_enrichment_fakealbumrepo", "label": "_FakeAlbumRepo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeAlbumRepo", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 8}, {"id": "tests_test_real_file_enrichment_fakealbumrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 3}, {"id": "tests_test_real_file_enrichment_fakealbumrepo_set_cover_path", "label": ".set_cover_path()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_cover_path()", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "code", "degree": 2}, {"id": "tests_test_real_file_enrichment_rationale_1", "label": "Enrichment tests against a real audio file (``tests/fixtures/``). The fixture \"", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Enrichment tests against a real audio file (``tests/fixtures/``). The fixture &quot;", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_real_file_enrichment_rationale_60", "label": "The reader extracts the file's actual (junk) embedded tags verbatim \u2014 provin", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The reader extracts the file&#x27;s actual (junk) embedded tags verbatim \u2014 provin", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_real_file_enrichment_rationale_80", "label": "fpcalc \u2192 AcoustID identifies the real audio as Scarlet Fire / Otis McDonald", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "fpcalc \u2192 AcoustID identifies the real audio as Scarlet Fire / Otis McDonald", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_real_file_enrichment_rationale_98", "label": "Full pipeline on the real file with the real tag-reader, fingerprinter and A", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Full pipeline on the real file with the real tag-reader, fingerprinter and A", "community": 15, "community_name": "Chromaprint Fingerprinting", "source_file": "tests/test_real_file_enrichment.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_remote_library_service", "label": "test_remote_library_service.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "test_remote_library_service.py", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 22}, {"id": "tests_test_remote_library_service_fakeartistrepo", "label": "FakeArtistRepo", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "FakeArtistRepo", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 14}, {"id": "tests_test_remote_library_service_fakeartistrepo_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_remote_library_service_fakeartistrepo_get_or_create", "label": ".get_or_create()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_or_create()", "community": 20, "community_name": "Track & Artist Domain Entities", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_remote_library_service_faketrackrepo", "label": "FakeTrackRepo", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "FakeTrackRepo", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 16}, {"id": "tests_test_remote_library_service_faketrackrepo_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_remote_library_service_faketrackrepo_get_by_id", "label": ".get_by_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_remote_library_service_py_uuid", "label": "UUID", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "UUID", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_remote_library_service_faketrackrepo_get_by_source", "label": ".get_by_source()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_source()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_remote_library_service_faketrackrepo_add", "label": ".add()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_remote_library_service_local_track", "label": "_local_track()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_local_track()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_remote_library_service_fakejobrepo", "label": "FakeJobRepo", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "FakeJobRepo", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 17}, {"id": "tests_test_remote_library_service_fakejobrepo_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 1}, {"id": "tests_test_remote_library_service_fakejobrepo_add", "label": ".add()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".add()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_remote_library_service_fakejobrepo_get_by_id", "label": ".get_by_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_by_id()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_remote_library_service_fakejobrepo_get_active_for_source", "label": ".get_active_for_source()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": ".get_active_for_source()", "community": 26, "community_name": "Download Job Domain Entity", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 2}, {"id": "tests_test_remote_library_service_fakejobrepo_set_status", "label": ".set_status()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": ".set_status()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 3}, {"id": "tests_test_remote_library_service_service", "label": "_service()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_service()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 14}, {"id": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "label": "test_save_remote_creates_placeholder()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_remote_creates_placeholder()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_remote_library_service_test_save_remote_is_idempotent", "label": "test_save_remote_is_idempotent()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_remote_is_idempotent()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "label": "test_materialize_already_local_is_noop()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_materialize_already_local_is_noop()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "label": "test_materialize_remote_creates_and_enqueues_job()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_materialize_remote_creates_and_enqueues_job()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 5}, {"id": "tests_test_remote_library_service_test_materialize_reuses_active_job", "label": "test_materialize_reuses_active_job()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_materialize_reuses_active_job()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_remote_library_service_test_materialize_missing_track_raises", "label": "test_materialize_missing_track_raises()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_materialize_missing_track_raises()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_remote_library_service_test_save_remote_requires_source_id", "label": "test_save_remote_requires_source_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_remote_requires_source_id()", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "code", "degree": 6}, {"id": "tests_test_remote_library_service_rationale_1", "label": "Unit tests for RemoteLibraryService \u2014 DB-free, in-memory fakes (plan: Model C re", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for RemoteLibraryService \u2014 DB-free, in-memory fakes (plan: Model C re", "community": 30, "community_name": "Remote Library Service Tests", "source_file": "tests/test_remote_library_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_security", "label": "test_security.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "test_security.py", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 16}, {"id": "tests_test_security_settings", "label": "_settings()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_settings()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 6}, {"id": "tests_test_security_test_password_hash_roundtrip", "label": "test_password_hash_roundtrip()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_password_hash_roundtrip()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 2}, {"id": "tests_test_security_test_jwt_issue_and_decode_roundtrip", "label": "test_jwt_issue_and_decode_roundtrip()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_issue_and_decode_roundtrip()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 3}, {"id": "tests_test_security_test_jwt_rejects_tampered_token", "label": "test_jwt_rejects_tampered_token()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_rejects_tampered_token()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 4}, {"id": "tests_test_security_test_jwt_rejects_wrong_secret", "label": "test_jwt_rejects_wrong_secret()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_rejects_wrong_secret()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 4}, {"id": "tests_test_security_test_jwt_rejects_expired_token", "label": "test_jwt_rejects_expired_token()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_rejects_expired_token()", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "code", "degree": 4}, {"id": "tests_test_security_rationale_1", "label": "Unit tests for the security adapters (no DB, no network).", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the security adapters (no DB, no network).", "community": 41, "community_name": "Settings & MusicBrainz User-Agent", "source_file": "tests/test_security.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_sources_api", "label": "test_sources_api.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_sources_api.py", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 19}, {"id": "tests_test_sources_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_sources_api_api", "label": "api()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_sources_api_py_path", "label": "Path", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 62, "community_name": "Sources API Tests", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_sources_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 62, "community_name": "Sources API Tests", "source_file": "", "file_type": "code", "degree": 5}, {"id": "tests_test_sources_api_login", "label": "_login()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sources_api_test_list_sources_includes_local", "label": "test_list_sources_includes_local()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_sources_includes_local()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_sources_api_test_local_import_creates_streamable_tracks", "label": "test_local_import_creates_streamable_tracks()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_local_import_creates_streamable_tracks()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sources_api_test_scan_requires_admin", "label": "test_scan_requires_admin()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_scan_requires_admin()", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_sources_api_rationale_1", "label": "Integration tests for sources: enumeration + the real import path. Requires a r", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for sources: enumeration + the real import path. Requires a r", "community": 62, "community_name": "Sources API Tests", "source_file": "tests/test_sources_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_storage_local", "label": "test_storage_local.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_storage_local.py", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 12}, {"id": "tests_test_storage_local_test_save_and_stat", "label": "test_save_and_stat()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_and_stat()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_save_creates_parent_dirs", "label": "test_save_creates_parent_dirs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_creates_parent_dirs()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_open_range_full", "label": "test_open_range_full()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_full()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_open_range_partial", "label": "test_open_range_partial()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_partial()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_open_range_from_offset_to_end", "label": "test_open_range_from_offset_to_end()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_from_offset_to_end()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_exists_and_delete", "label": "test_exists_and_delete()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_exists_and_delete()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_delete_missing_is_noop", "label": "test_delete_missing_is_noop()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_delete_missing_is_noop()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_as_local_path", "label": "test_as_local_path()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_as_local_path()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_test_stat_unknown_extension", "label": "test_stat_unknown_extension()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stat_unknown_extension()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_local_rationale_1", "label": "Unit tests for LocalFileStorage.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for LocalFileStorage.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_local.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_storage_s3", "label": "test_storage_s3.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 17.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_storage_s3.py", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 26}, {"id": "tests_test_storage_s3_make_storage", "label": "_make_storage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_storage()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_py_any", "label": "Any", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_s3_client_error", "label": "_client_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_client_error()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 7}, {"id": "tests_test_storage_s3_py_exception", "label": "Exception", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Exception", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_storage_s3_fakebody", "label": "_FakeBody", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeBody", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 10}, {"id": "tests_test_storage_s3_fakebody_init", "label": ".__init__()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 1}, {"id": "tests_test_storage_s3_fakebody_read", "label": ".read()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": ".read()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 1}, {"id": "tests_test_storage_s3_make_client_ctx", "label": "_make_client_ctx()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_client_ctx()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 14}, {"id": "tests_test_storage_s3_storage", "label": "storage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "storage()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_s3_test_save_file_calls_put_object", "label": "test_save_file_calls_put_object()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_save_file_calls_put_object()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_py_path", "label": "Path", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_s3_test_stat_returns_size_and_content_type", "label": "test_stat_returns_size_and_content_type()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stat_returns_size_and_content_type()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_s3_test_stat_falls_back_to_ext_content_type", "label": "test_stat_falls_back_to_ext_content_type()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stat_falls_back_to_ext_content_type()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "label": "test_stat_not_found_raises_storage_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stat_not_found_raises_storage_error()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 5}, {"id": "tests_test_storage_s3_test_exists_true", "label": "test_exists_true()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_exists_true()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_s3_test_exists_false_on_404", "label": "test_exists_false_on_404()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_exists_false_on_404()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_test_delete_calls_delete_object", "label": "test_delete_calls_delete_object()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_delete_calls_delete_object()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_s3_test_open_range_full", "label": "test_open_range_full()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_full()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_test_open_range_partial", "label": "test_open_range_partial()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_partial()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "label": "test_open_range_not_found_raises_storage_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_open_range_not_found_raises_storage_error()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 5}, {"id": "tests_test_storage_s3_test_as_local_path_yields_file_with_content", "label": "test_as_local_path_yields_file_with_content()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_as_local_path_yields_file_with_content()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "label": "test_as_local_path_cleans_up_on_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_as_local_path_cleans_up_on_error()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 5}, {"id": "tests_test_storage_s3_test_provider_returns_s3_storage_when_configured", "label": "test_provider_returns_s3_storage_when_configured()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_provider_returns_s3_storage_when_configured()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_s3_test_provider_raises_when_s3_bucket_missing", "label": "test_provider_raises_when_s3_bucket_missing()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_provider_raises_when_s3_bucket_missing()", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_s3_rationale_1", "label": "Unit tests for S3FileStorage \u2014 all S3 calls are mocked.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for S3FileStorage \u2014 all S3 calls are mocked.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_storage_s3_rationale_26", "label": "Async-iterable body that yields chunks from a bytes buffer.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Async-iterable body that yields chunks from a bytes buffer.", "community": 0, "community_name": "Storage Backend & Disk Usage", "source_file": "tests/test_storage_s3.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_storage_stats_api", "label": "test_storage_stats_api.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_storage_stats_api.py", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 19}, {"id": "tests_test_storage_stats_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_stats_api_api", "label": "api()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_storage_stats_api_py_path", "label": "Path", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_storage_stats_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "", "file_type": "code", "degree": 6}, {"id": "tests_test_storage_stats_api_login", "label": "_login()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_stats_api_upload", "label": "_upload()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_upload()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_stats_api_test_storage_stats_requires_auth", "label": "test_storage_stats_requires_auth()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_storage_stats_requires_auth()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_storage_stats_api_test_storage_stats_empty_library", "label": "test_storage_stats_empty_library()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_storage_stats_empty_library()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_storage_stats_api_test_storage_stats_counts_uploads", "label": "test_storage_stats_counts_uploads()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_storage_stats_counts_uploads()", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_storage_stats_api_rationale_1", "label": "Integration tests for the storage statistics endpoint (\u00a7A6). Requires a reachab", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the storage statistics endpoint (\u00a7A6). Requires a reachab", "community": 67, "community_name": "Storage Stats API Tests", "source_file": "tests/test_storage_stats_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_subsonic_api", "label": "test_subsonic_api.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 18.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_subsonic_api.py", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 30}, {"id": "tests_test_subsonic_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_api", "label": "api()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_subsonic_api_py_path", "label": "Path", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 45, "community_name": "DB Engine Lifecycle", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_subsonic_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.7, "font": {"size": 12, "color": "#ffffff"}, "title": "AsyncClient", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "", "file_type": "code", "degree": 16}, {"id": "tests_test_subsonic_api_login", "label": "_login()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_api_subsonic_password", "label": "_subsonic_password()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_subsonic_password()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_seed_track", "label": "_seed_track()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_seed_track()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_auth_params", "label": "_auth_params()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_auth_params()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_api_setup", "label": "_setup()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "_setup()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 17}, {"id": "tests_test_subsonic_api_test_ping_ok", "label": "test_ping_ok()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ping_ok()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_ping_bad_credentials_returns_code_40", "label": "test_ping_bad_credentials_returns_code_40()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ping_bad_credentials_returns_code_40()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_ping_xml_default", "label": "test_ping_xml_default()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ping_xml_default()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_get_artists", "label": "test_get_artists()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_artists()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_get_album_list2", "label": "test_get_album_list2()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_album_list2()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_search3_finds_song", "label": "test_search3_finds_song()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search3_finds_song()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_get_song", "label": "test_get_song()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_song()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_stream_returns_audio", "label": "test_stream_returns_audio()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stream_returns_audio()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_get_cover_art_placeholder", "label": "test_get_cover_art_placeholder()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_cover_art_placeholder()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_playlist_lifecycle", "label": "test_playlist_lifecycle()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_playlist_lifecycle()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_api_test_star_and_scrobble", "label": "test_star_and_scrobble()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_star_and_scrobble()", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_api_rationale_1", "label": "Integration tests for the Subsonic /rest layer (happy path per endpoint group).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the Subsonic /rest layer (happy path per endpoint group).", "community": 42, "community_name": "Subsonic API Integration Tests", "source_file": "tests/test_subsonic_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_subsonic_auth", "label": "test_subsonic_auth.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_subsonic_auth.py", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 24}, {"id": "tests_test_subsonic_auth_md5", "label": "_md5()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_md5()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_service_with_user", "label": "_service_with_user()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_service_with_user()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 14}, {"id": "tests_test_subsonic_auth_test_authenticate_token_salt_success", "label": "test_authenticate_token_salt_success()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_token_salt_success()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_plain_password_success", "label": "test_authenticate_plain_password_success()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_plain_password_success()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_auth_test_authenticate_enc_password_success", "label": "test_authenticate_enc_password_success()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_enc_password_success()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_auth_test_authenticate_wrong_token_fails", "label": "test_authenticate_wrong_token_fails()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_wrong_token_fails()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_auth_test_authenticate_wrong_password_fails", "label": "test_authenticate_wrong_password_fails()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_wrong_password_fails()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_unknown_user_fails", "label": "test_authenticate_unknown_user_fails()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_unknown_user_fails()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_inactive_user_fails", "label": "test_authenticate_inactive_user_fails()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_inactive_user_fails()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_no_password_set_fails", "label": "test_authenticate_no_password_set_fails()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_no_password_set_fails()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_missing_username_is_validation_error", "label": "test_authenticate_missing_username_is_validation_error()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_missing_username_is_validation_error()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_authenticate_missing_credentials_is_validation_error", "label": "test_authenticate_missing_credentials_is_validation_error()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_authenticate_missing_credentials_is_validation_error()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_auth_test_rotate_then_authenticate", "label": "test_rotate_then_authenticate()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rotate_then_authenticate()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_auth_test_reveal_generates_then_is_stable", "label": "test_reveal_generates_then_is_stable()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reveal_generates_then_is_stable()", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_auth_rationale_1", "label": "Unit tests for SubsonicAuthService \u2014 verification + app-password lifecycle. DB-", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for SubsonicAuthService \u2014 verification + app-password lifecycle. DB-", "community": 55, "community_name": "Subsonic Auth Service Tests", "source_file": "tests/test_subsonic_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_subsonic_envelope", "label": "test_subsonic_envelope.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_subsonic_envelope.py", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 12}, {"id": "tests_test_subsonic_envelope_xml_root", "label": "_xml_root()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.8, "font": {"size": 0, "color": "#ffffff"}, "title": "_xml_root()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 6}, {"id": "tests_test_subsonic_envelope_py_element", "label": "Element", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Element", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_subsonic_envelope_local", "label": "_local()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_local()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_envelope_test_ok_xml_shape", "label": "test_ok_xml_shape()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ok_xml_shape()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_envelope_test_ok_json_shape", "label": "test_ok_json_shape()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_ok_json_shape()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_envelope_test_error_xml_shape", "label": "test_error_xml_shape()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_error_xml_shape()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_envelope_test_error_json_shape", "label": "test_error_json_shape()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_error_json_shape()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_envelope_test_default_format_is_xml", "label": "test_default_format_is_xml()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_default_format_is_xml()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_envelope_test_list_renders_repeated_elements", "label": "test_list_renders_repeated_elements()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_renders_repeated_elements()", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_envelope_rationale_1", "label": "Unit tests for the Subsonic response envelope (XML + JSON shapes).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the Subsonic response envelope (XML + JSON shapes).", "community": 14, "community_name": "Subsonic Response Envelope", "source_file": "tests/test_subsonic_envelope.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_subsonic_security", "label": "test_subsonic_security.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 15.0, "font": {"size": 12, "color": "#ffffff"}, "title": "test_subsonic_security.py", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 17}, {"id": "tests_test_subsonic_security_test_generate_subsonic_password_is_long_and_unique", "label": "test_generate_subsonic_password_is_long_and_unique()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_generate_subsonic_password_is_long_and_unique()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_security_test_cipher_roundtrip", "label": "test_cipher_roundtrip()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cipher_roundtrip()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_security_test_cipher_token_then_md5_matches", "label": "test_cipher_token_then_md5_matches()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cipher_token_then_md5_matches()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 4}, {"id": "tests_test_subsonic_security_test_cipher_wrong_key_fails", "label": "test_cipher_wrong_key_fails()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cipher_wrong_key_fails()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 3}, {"id": "tests_test_subsonic_security_test_id_encode_decode_roundtrip", "label": "test_id_encode_decode_roundtrip()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "test_id_encode_decode_roundtrip()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 1}, {"id": "tests_test_subsonic_security_test_id_parse_returns_kind", "label": "test_id_parse_returns_kind()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "test_id_parse_returns_kind()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 1}, {"id": "tests_test_subsonic_security_test_id_wrong_prefix_rejected", "label": "test_id_wrong_prefix_rejected()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_id_wrong_prefix_rejected()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_security_test_id_malformed_rejected", "label": "test_id_malformed_rejected()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_id_malformed_rejected()", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "code", "degree": 2}, {"id": "tests_test_subsonic_security_rationale_1", "label": "Unit tests for Subsonic crypto + id helpers (no DB, no network).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for Subsonic crypto + id helpers (no DB, no network).", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_subsonic_security_rationale_29", "label": "The decrypted app-password must reproduce a client's t=md5(password+salt).", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "The decrypted app-password must reproduce a client&#x27;s t=md5(password+salt).", "community": 38, "community_name": "Subsonic App-Password Crypto", "source_file": "tests/test_subsonic_security.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_tag_reader", "label": "test_tag_reader.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_tag_reader.py", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "tests/test_tag_reader.py", "file_type": "code", "degree": 8}, {"id": "tests_test_tag_reader_test_first_takes_head_of_list", "label": "test_first_takes_head_of_list()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_first_takes_head_of_list()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "tests/test_tag_reader.py", "file_type": "code", "degree": 2}, {"id": "tests_test_tag_reader_test_parse_year_extracts_four_digits", "label": "test_parse_year_extracts_four_digits()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_year_extracts_four_digits()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "tests/test_tag_reader.py", "file_type": "code", "degree": 2}, {"id": "tests_test_tag_reader_test_parse_track_number_handles_slash_form", "label": "test_parse_track_number_handles_slash_form()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_track_number_handles_slash_form()", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "tests/test_tag_reader.py", "file_type": "code", "degree": 2}, {"id": "tests_test_tag_reader_rationale_1", "label": "Unit tests for the mutagen tag-parsing helpers \u2014 pure, no files.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the mutagen tag-parsing helpers \u2014 pure, no files.", "community": 53, "community_name": "Tag Parsing Helpers", "source_file": "tests/test_tag_reader.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_upload_stream_api", "label": "test_upload_stream_api.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_upload_stream_api.py", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 23}, {"id": "tests_test_upload_stream_api_db_reachable", "label": "_db_reachable()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_db_reachable()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_api", "label": "api()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.5, "font": {"size": 0, "color": "#ffffff"}, "title": "api()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 12}, {"id": "tests_test_upload_stream_api_py_path", "label": "Path", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_upload_stream_api_py_asyncclient", "label": "AsyncClient", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncClient", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "", "file_type": "code", "degree": 10}, {"id": "tests_test_upload_stream_api_login", "label": "_login()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_login()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 8}, {"id": "tests_test_upload_stream_api_test_upload_creates_track", "label": "test_upload_creates_track()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_upload_creates_track()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_test_upload_dedup", "label": "test_upload_dedup()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_upload_dedup()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_test_stream_full", "label": "test_stream_full()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stream_full()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_test_stream_range", "label": "test_stream_range()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stream_range()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_test_stream_not_found", "label": "test_stream_not_found()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stream_not_found()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_test_stream_requires_auth", "label": "test_stream_requires_auth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_stream_requires_auth()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_upload_stream_api_test_upload_requires_auth", "label": "test_upload_requires_auth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_upload_requires_auth()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_upload_stream_api_test_list_tracks_filters_by_source", "label": "test_list_tracks_filters_by_source()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_tracks_filters_by_source()", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_upload_stream_api_rationale_1", "label": "Integration tests for upload and streaming endpoints. Requires a reachable Post", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for upload and streaming endpoints. Requires a reachable Post", "community": 52, "community_name": "Upload/Stream API Tests", "source_file": "tests/test_upload_stream_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_user_service", "label": "test_user_service.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 17.1, "font": {"size": 12, "color": "#ffffff"}, "title": "test_user_service.py", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 24}, {"id": "tests_test_user_service_env", "label": "env()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "env()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 8}, {"id": "tests_test_user_service_test_create_user_duplicate_username", "label": "test_create_user_duplicate_username()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_create_user_duplicate_username()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_test_get_unknown_user_raises", "label": "test_get_unknown_user_raises()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_unknown_user_raises()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_test_change_password_requires_current", "label": "test_change_password_requires_current()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_change_password_requires_current()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_test_change_password_revokes_sessions", "label": "test_change_password_revokes_sessions()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_change_password_revokes_sessions()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_test_reset_password_revokes_sessions", "label": "test_reset_password_revokes_sessions()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reset_password_revokes_sessions()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_test_deactivate_revokes_sessions", "label": "test_deactivate_revokes_sessions()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_deactivate_revokes_sessions()", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "code", "degree": 4}, {"id": "tests_test_user_service_rationale_1", "label": "Unit tests for UserService using in-memory ports.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for UserService using in-memory ports.", "community": 22, "community_name": "User Management Service", "source_file": "tests/test_user_service.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_youtube_source", "label": "test_youtube_source.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_youtube_source.py", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 19}, {"id": "tests_test_youtube_source_song_row", "label": "_song_row()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_song_row()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 5}, {"id": "tests_test_youtube_source_py_any", "label": "Any", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Any", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_youtube_source_settings", "label": "_settings()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_settings()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 4}, {"id": "tests_test_youtube_source_test_search_maps_ytmusic_rows", "label": "test_search_maps_ytmusic_rows()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_maps_ytmusic_rows()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_test_search_joins_multiple_artists_and_tolerates_missing_fields", "label": "test_search_joins_multiple_artists_and_tolerates_missing_fields()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_joins_multiple_artists_and_tolerates_missing_fields()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_test_search_drops_rows_without_video_id", "label": "test_search_drops_rows_without_video_id()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_drops_rows_without_video_id()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_test_search_empty_query_short_circuits", "label": "test_search_empty_query_short_circuits()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_empty_query_short_circuits()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 2}, {"id": "tests_test_youtube_source_test_search_degrades_to_empty_on_error", "label": "test_search_degrades_to_empty_on_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_search_degrades_to_empty_on_error()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 2}, {"id": "tests_test_youtube_source_test_fetch_maps_download_result", "label": "test_fetch_maps_download_result()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_fetch_maps_download_result()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_py_path", "label": "Path", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Path", "community": 10, "community_name": "YouTube Source Backend", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_test_youtube_source_test_info_and_availability_with_injected_fn", "label": "test_info_and_availability_with_injected_fn()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_info_and_availability_with_injected_fn()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 2}, {"id": "tests_test_youtube_source_test_registry_registers_youtube_when_enabled", "label": "test_registry_registers_youtube_when_enabled()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_registry_registers_youtube_when_enabled()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_test_registry_omits_youtube_when_disabled", "label": "test_registry_omits_youtube_when_disabled()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_registry_omits_youtube_when_disabled()", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "code", "degree": 3}, {"id": "tests_test_youtube_source_rationale_1", "label": "Unit tests for YouTubeMusicSource + registry (no network, injected libs).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for YouTubeMusicSource + registry (no network, injected libs).", "community": 10, "community_name": "YouTube Source Backend", "source_file": "tests/test_youtube_source.py", "file_type": "rationale", "degree": 1}, {"id": "claude", "label": "CLAUDE.md", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "CLAUDE.md", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_claude_md", "label": "CLAUDE.md", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.1, "font": {"size": 0, "color": "#ffffff"}, "title": "CLAUDE.md", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 7}, {"id": "claude_what_this_is", "label": "What this is", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "What this is", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_commands", "label": "Commands", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Commands", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_architecture_hexagonal_ports_adapters", "label": "Architecture \u2014 hexagonal (ports & adapters)", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Architecture \u2014 hexagonal (ports &amp; adapters)", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 2}, {"id": "claude_cross_cutting_conventions", "label": "Cross-cutting conventions", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Cross-cutting conventions", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_non_negotiable_domain_invariants", "label": "Non-negotiable domain invariants", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Non-negotiable domain invariants", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_python_3_14_note", "label": "Python 3.14 note", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Python 3.14 note", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "claude_graphify", "label": "graphify", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "graphify", "community": 80, "community_name": "ASGI Middleware Protocol", "source_file": "CLAUDE.md", "file_type": "document", "degree": 1}, {"id": "readme", "label": "README.md", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "README.md", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_mcma_backend", "label": "mcma-backend", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.6, "font": {"size": 0, "color": "#ffffff"}, "title": "mcma-backend", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 9}, {"id": "readme_architecture_hexagonal_ports_adapters", "label": "Architecture \u2014 hexagonal (ports & adapters)", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Architecture \u2014 hexagonal (ports &amp; adapters)", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_build_docker", "label": "Build (Docker)", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Build (Docker)", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_local_dev_without_docker", "label": "Local dev (without Docker)", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Local dev (without Docker)", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_tooling", "label": "Tooling", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Tooling", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_database_migrations_alembic", "label": "Database migrations (Alembic)", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Database migrations (Alembic)", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_configuration", "label": "Configuration", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Configuration", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_sources_importing_music", "label": "Sources & importing music", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Sources &amp; importing music", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "readme_subsonic_api_rest", "label": "Subsonic API (`/rest`)", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic API (`/rest`)", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 2}, {"id": "readme_app_passwords", "label": "App-passwords", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "App-passwords", "community": 76, "community_name": "Domain Invariants (dedup, manual overwrite, offline tags)", "source_file": "README.md", "file_type": "document", "degree": 1}, {"id": "tests_fixtures_readme", "label": "README.md", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "README.md", "community": 112, "community_name": "Tooling Section (doc)", "source_file": "tests/fixtures/README.md", "file_type": "document", "degree": 1}, {"id": "tests_fixtures_readme_test_fixtures", "label": "Test fixtures", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Test fixtures", "community": 112, "community_name": "Tooling Section (doc)", "source_file": "tests/fixtures/README.md", "file_type": "document", "degree": 2}, {"id": "tests_fixtures_readme_scarlet_fire_otis_mcdonald_mp3", "label": "`scarlet_fire_otis_mcdonald.mp3`", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "`scarlet_fire_otis_mcdonald.mp3`", "community": 112, "community_name": "Tooling Section (doc)", "source_file": "tests/fixtures/README.md", "file_type": "document", "degree": 1}, {"id": "gitea_workflows_docker_publish_build", "label": "build job (Docker Build & Publish)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "build job (Docker Build &amp; Publish)", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "code", "degree": 3}, {"id": "gitea_workflows_docker_publish_push", "label": "push job (Docker Build & Publish)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "push job (Docker Build &amp; Publish)", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "code", "degree": 3}, {"id": "gitea_workflows_docker_publish_cleanup", "label": "cleanup job (Prune old image versions)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.9, "font": {"size": 0, "color": "#ffffff"}, "title": "cleanup job (Prune old image versions)", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "code", "degree": 3}, {"id": "gitea_workflows_docker_publish_keep_versions", "label": "KEEP_VERSIONS env (retention policy)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "KEEP_VERSIONS env (retention policy)", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "concept", "degree": 1}, {"id": "dockerfiles_dockerfile_prod", "label": "dockerfiles/Dockerfile.prod", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "dockerfiles/Dockerfile.prod", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "code", "degree": 1}, {"id": "gitea_container_registry", "label": "Gitea container registry", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.6, "font": {"size": 0, "color": "#ffffff"}, "title": "Gitea container registry", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "concept", "degree": 2}, {"id": "docker_buildx", "label": "Docker Buildx", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.3, "font": {"size": 0, "color": "#ffffff"}, "title": "Docker Buildx", "community": 74, "community_name": "CI Docker Publish Workflow", "source_file": ".gitea/workflows/docker-publish.yml", "file_type": "concept", "degree": 1}, {"id": "claude_hexagonal_architecture", "label": "Hexagonal architecture (ports & adapters)", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Hexagonal architecture (ports &amp; adapters)", "community": 119, "community_name": "Hexagonal architecture (ports & adapters)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_domain_layer", "label": "app/domain \u2014 pure business core", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/domain \u2014 pure business core", "community": 117, "community_name": "app/domain \u2014 pure business core", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_application_layer", "label": "app/application \u2014 use cases / services", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/application \u2014 use cases / services", "community": 114, "community_name": "app/application \u2014 use cases / services", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_infrastructure_layer", "label": "app/infrastructure \u2014 driven adapters", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/infrastructure \u2014 driven adapters", "community": 120, "community_name": "app/infrastructure \u2014 driven adapters", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_api_layer", "label": "app/api \u2014 driving adapter (FastAPI)", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/api \u2014 driving adapter (FastAPI)", "community": 63, "community_name": "Hexagonal Architecture Layers (doc)", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_core_layer", "label": "app/core \u2014 cross-cutting concerns", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/core \u2014 cross-cutting concerns", "community": 116, "community_name": "app/core \u2014 cross-cutting concerns", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_workers_layer", "label": "app/workers \u2014 arq background tasks", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "app/workers \u2014 arq background tasks", "community": 125, "community_name": "app/workers \u2014 arq background tasks", "source_file": "CLAUDE.md", "file_type": "concept", "degree": 0}, {"id": "claude_composition_root", "label": "Composition roots (app/main.py, app/api/deps.py)", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Composition roots (app/main.py, app/api/deps.py)", "community": 115, "community_name": "Composition roots (app/main.py, app/api/deps.py)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_error_handling_convention", "label": "Error handling convention (domain errors \u2192 HTTP in app/api/errors.py)", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Error handling convention (domain errors \u2192 HTTP in app/api/errors.py)", "community": 118, "community_name": "Error handling convention (domain errors \u2192 HTTP in app/api/errors.py)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_config_convention", "label": "Config convention (get_settings singleton, env-driven)", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Config convention (get_settings singleton, env-driven)", "community": 101, "community_name": "Config Conventions (doc)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_logging_convention", "label": "Logging convention (structlog, correlation_id contextvar)", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Logging convention (structlog, correlation_id contextvar)", "community": 108, "community_name": "Logging Convention (doc)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_db_sessions_convention", "label": "DB sessions convention (SessionDep / session_scope)", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "DB sessions convention (SessionDep / session_scope)", "community": 103, "community_name": "DB Session Convention (doc)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_migrations_convention", "label": "Migrations convention (async, settings-driven Alembic)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Migrations convention (async, settings-driven Alembic)", "community": 124, "community_name": "Migrations convention (async, settings-driven Alembic)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_health_convention", "label": "Health convention (/health liveness, /health/ready with timeouts)", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Health convention (/health liveness, /health/ready with timeouts)", "community": 104, "community_name": "Health Convention (doc)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_likes_event_log", "label": "Invariant: likes are an append-only event-log", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: likes are an append-only event-log", "community": 106, "community_name": "Invariant: Likes Are Append-Only", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_track_id_stable", "label": "Invariant: track.id is a stable content_id UUID", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: track.id is a stable content_id UUID", "community": 107, "community_name": "Invariant: Stable Track content_id", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_dedup", "label": "Invariant: dedup on (source, source_id) and acoustid_fingerprint", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: dedup on (source, source_id) and acoustid_fingerprint", "community": 121, "community_name": "Invariant: dedup on (source, source_id) and acoustid_fingerprint", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_graceful_degradation", "label": "Invariant: graceful degradation is mandatory", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: graceful degradation is mandatory", "community": 105, "community_name": "Invariant: Graceful Degradation", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_no_manual_overwrite", "label": "Invariant: never overwrite metadata_status=manual", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: never overwrite metadata_status=manual", "community": 123, "community_name": "Invariant: never overwrite metadata_status=manual", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_no_heavy_work_in_request", "label": "Invariant: no heavy work in the request cycle (goes to arq workers)", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: no heavy work in the request cycle (goes to arq workers)", "community": 122, "community_name": "Invariant: no heavy work in the request cycle (goes to arq workers)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_invariant_subsonic_compatibility", "label": "Invariant: Subsonic API is an adapter, not a reimplementation", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Invariant: Subsonic API is an adapter, not a reimplementation", "community": 102, "community_name": "Subsonic Adapter Convention (doc)", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "claude_python314_note", "label": "Python 3.14 lazy annotations note (PEP 649)", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Python 3.14 lazy annotations note (PEP 649)", "community": 109, "community_name": "Python 3.14 Lazy Annotations Note", "source_file": "CLAUDE.md", "file_type": "rationale", "degree": 0}, {"id": "readme_hexagonal_architecture", "label": "Hexagonal architecture (ports & adapters) \u2014 README", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Hexagonal architecture (ports &amp; adapters) \u2014 README", "community": 127, "community_name": "Hexagonal architecture (ports & adapters) \u2014 README", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "readme_docker_build", "label": "Build (Docker) section", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Build (Docker) section", "community": 126, "community_name": "Build (Docker) section", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "readme_local_dev", "label": "Local dev (without Docker) section", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Local dev (without Docker) section", "community": 111, "community_name": "Local Dev Setup (doc)", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "readme_migrations", "label": "Database migrations (Alembic) section", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Database migrations (Alembic) section", "community": 128, "community_name": "Database migrations (Alembic) section", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "readme_subsonic_api", "label": "Subsonic API (/rest) section", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Subsonic API (/rest) section", "community": 129, "community_name": "Subsonic API (/rest) section", "source_file": "README.md", "file_type": "document", "degree": 0}, {"id": "tests_fixtures_readme_scarlet_fire_fixture", "label": "scarlet_fire_otis_mcdonald.mp3 test fixture", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "scarlet_fire_otis_mcdonald.mp3 test fixture", "community": 132, "community_name": "scarlet_fire_otis_mcdonald.mp3 test fixture", "source_file": "tests/fixtures/README.md", "file_type": "document", "degree": 0}, {"id": "tests_fixtures_readme_acoustid_trust_score", "label": "acoustid_trust_score (trust high-confidence AcoustID over junk tags)", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "acoustid_trust_score (trust high-confidence AcoustID over junk tags)", "community": 130, "community_name": "acoustid_trust_score (trust high-confidence AcoustID over junk tags)", "source_file": "tests/fixtures/README.md", "file_type": "rationale", "degree": 0}, {"id": "tests_fixtures_readme_offline_tag_reader", "label": "Offline tag reader (deterministic, always runs)", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Offline tag reader (deterministic, always runs)", "community": 131, "community_name": "Offline tag reader (deterministic, always runs)", "source_file": "tests/fixtures/README.md", "file_type": "concept", "degree": 0}];
const RAW_EDGES = [{"from": "alembic_env", "to": "alembic_env_run_migrations", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env", "to": "alembic_env_run_migrations_offline", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env", "to": "alembic_env_run_migrations_online", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env_rationale_1", "to": "alembic_env", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env_run_migrations", "to": "connection", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env_run_migrations_online", "to": "alembic_env_run_migrations", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "alembic_versions_20260602_0001_0001_auth_users", "to": "alembic_versions_20260602_0001_0001_auth_users_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260602_0001_0001_auth_users", "to": "alembic_versions_20260602_0001_0001_auth_users_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema", "to": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema", "to": "alembic_versions_20260607_1137_e670d6c41d0c_music_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri", "to": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri", "to": "alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260608_1200_subsonic_app_password", "to": "alembic_versions_20260608_1200_subsonic_app_password_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260608_1200_subsonic_app_password", "to": "alembic_versions_20260608_1200_subsonic_app_password_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260613_1300_track_enrichment_outcome", "to": "alembic_versions_20260613_1300_track_enrichment_outcome_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260613_1300_track_enrichment_outcome", "to": "alembic_versions_20260613_1300_track_enrichment_outcome_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260614_1000_download_job_track_id", "to": "alembic_versions_20260614_1000_download_job_track_id_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260614_1000_download_job_track_id", "to": "alembic_versions_20260614_1000_download_job_track_id_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability", "to": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability", "to": "alembic_versions_20260614_1125_dc126696f5a6_remote_placeholders_track_availability_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_init_rationale_1", "to": "app_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_init_rationale_1", "to": "app_api_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_api_covers_content_type_for", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_api_covers_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_api_covers_resolve_album_for_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_api_covers_stream_cover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_ports_albumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_rationale_1", "to": "app_api_covers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_covers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_covers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_covers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_stream_cover", "to": "app_api_covers_content_type_for", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_rationale_35", "to": "app_api_covers_stream_cover", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_stream_cover", "to": "app_api_covers_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_stream_cover", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_stream_cover", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_covers_stream_cover", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_covers_stream_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_covers_stream_cover", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_covers_stream_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_covers_stream_cover", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_covers_stream_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_rationale_53", "to": "app_api_covers_resolve_album_for_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_resolve_album_for_track", "to": "app_api_covers_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_resolve_album_for_track", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_resolve_album_for_track", "to": "app_domain_ports_albumrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_covers_resolve_album_for_track", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_covers_resolve_album_for_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_covers_resolve_album_for_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_covers_resolve_album_for_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_covers_resolve_album_for_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_album_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_artist_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_auth_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_current_superuser", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_current_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_download_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_history_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_like_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_metadata_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_password_hasher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_playlist_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_remote_library_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_source_registry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_streaming_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_streaming_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_subsonic_auth_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_subsonic_cipher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_subsonic_format", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_subsonic_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_token_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_track_repository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_upload_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_api_deps_get_user_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_auth_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_auth_service_authservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_download_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_download_service_downloadservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_metadata_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_remote_library_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_remote_library_service_remotelibraryservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_streaming_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_streaming_service_streamingservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_subsonic_auth_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_upload_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_upload_service_uploadservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_user_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_security_jwttokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_core_security_subsonicpasswordcipher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_errors_permissiondeniederror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_ports_passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_ports_subsoniccipher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_domain_ports_tokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_acoustid", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_fingerprint", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_tags", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_workers_queue_enqueue_download", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_workers_queue_enqueue_enrich", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps", "to": "app_workers_queue_enqueue_materialize", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_rationale_1", "to": "app_api_deps", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_deps", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_session", "to": "app_api_deps_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_session", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_rationale_51", "to": "app_api_deps_get_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "app_api_deps_get_password_hasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_password_hasher", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_password_hasher", "to": "app_domain_ports_passwordhasher", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_user_service", "to": "app_api_deps_get_password_hasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "app_api_deps_get_token_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_token_service", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_token_service", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_token_service", "to": "app_domain_ports_tokenservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_auth_service", "to": "app_api_deps_get_subsonic_cipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_cipher", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_cipher", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_cipher", "to": "app_domain_ports_subsoniccipher", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_source_registry", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_source_registry", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_source_registry", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_api_deps_get_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_auth_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_album_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_artist_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_history_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_like_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_playlist_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_remote_library_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_auth_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_track_repository", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_user_service", "to": "sessiondep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_user_service", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_user_service", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_user_service", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_auth_service", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_auth_service", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_api_deps_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_application_upload_service_uploadservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_upload_service", "to": "app_workers_queue_enqueue_enrich", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_deps_get_download_service", "to": "app_api_deps_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_api_deps_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_service", "to": "app_api_deps_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_service", "to": "app_application_streaming_service_streamingservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_service", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_metadata_service", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_rationale_143", "to": "app_api_deps_get_metadata_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "app_application_download_service_downloadservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_download_service", "to": "app_workers_queue_enqueue_download", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_deps_get_download_service", "to": "app_workers_queue_enqueue_enrich", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_deps_get_remote_library_service", "to": "app_application_remote_library_service_remotelibraryservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_remote_library_service", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_remote_library_service", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_remote_library_service", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_remote_library_service", "to": "app_workers_queue_enqueue_materialize", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_deps_get_track_repository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_artist_repository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_album_repository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_playlist_repository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_like_repository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_history_repository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_user", "to": "app_api_deps_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_user", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_user", "to": "bearerdep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_user", "to": "bearerdep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_user", "to": "app_api_deps_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_superuser", "to": "app_api_deps_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_superuser", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_current_superuser", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_streaming_user", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_rationale_255", "to": "app_api_deps_get_streaming_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_user", "to": "app_api_deps_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_user", "to": "app_api_deps_py_subsonicauthservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_get_subsonic_format", "to": "app_api_deps_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_deps_rationale_289", "to": "app_api_deps_get_subsonic_format", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_errors_error_body", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_errors_is_subsonic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_errors_py_fastapi", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_errors_register_exception_handlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_api_rest_envelope_subsonic_error", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_alreadyexistserror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_conflicterror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_dependencyunavailableerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_domainerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_permissiondeniederror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors_rationale_1", "to": "app_api_errors", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_api_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors_is_subsonic", "to": "request", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors_register_exception_handlers", "to": "app_api_errors_py_fastapi", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors_register_exception_handlers", "to": "app_api_rest_envelope_subsonic_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_errors_register_exception_handlers", "to": "app_domain_errors_domainerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_errors_register_exception_handlers", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main", "to": "app_api_errors_register_exception_handlers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_api_errors_register_exception_handlers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_check_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_check_ml", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_check_redis", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_healthresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_readiness", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_api_health_readinessresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_infrastructure_cache_redis_get_redis", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_rationale_1", "to": "app_api_health", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_health", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_api_health", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_health", "to": "app_api_health_healthresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_healthresponse", "to": "app_api_health_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readinessresponse", "to": "app_api_health_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readiness", "to": "app_api_health_readinessresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_db", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_db", "to": "checkstatus", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readiness", "to": "app_api_health_check_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_ml", "to": "checkstatus", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_redis", "to": "checkstatus", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_redis", "to": "app_infrastructure_cache_redis_get_redis", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readiness", "to": "app_api_health_check_redis", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_check_ml", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readiness", "to": "app_api_health_check_ml", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_health_readiness", "to": "app_api_health_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware", "to": "app_api_middleware_correlationidmiddleware", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_rationale_1", "to": "app_api_middleware", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_api_middleware", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_correlationidmiddleware", "to": "app_api_middleware_correlationidmiddleware_call", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_correlationidmiddleware", "to": "app_api_middleware_correlationidmiddleware_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_rationale_16", "to": "app_api_middleware_correlationidmiddleware", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_api_middleware_correlationidmiddleware", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_api_middleware_correlationidmiddleware", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_middleware_correlationidmiddleware_init", "to": "asgiapp", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_correlationidmiddleware_call", "to": "receive", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_correlationidmiddleware_call", "to": "scope", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_middleware_correlationidmiddleware_call", "to": "send", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_annotation", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_browsing", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_media", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_playlists", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_search", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init", "to": "app_api_rest_system", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_init_rationale_1", "to": "app_api_rest_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_annotation_scrobble", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_annotation_set_rating", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_annotation_star", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_annotation_unstar", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_api_rest_ids_decode_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_rationale_1", "to": "app_api_rest_annotation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_likerepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_annotation_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_star", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_likerepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_annotation_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_unstar", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_ge", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_annotation_py_le", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_set_rating", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_annotation_py_historyrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_annotation_scrobble", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_albums_for_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_artists_index", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_decorate_albums", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_album_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_album_list2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_artists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_genres", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_indexes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_music_directory", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_music_folders", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_get_song", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_browsing_list_albums", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_ids_encode_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_ids_encode_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_ids_idkind", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_ids_parse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_serializers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_serializers_album_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_serializers_artist_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_serializers_iso", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_api_rest_serializers_song_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_rationale_1", "to": "app_api_rest_browsing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_artists_index", "to": "app_api_rest_browsing_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_artists_index", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_artists_index", "to": "app_api_rest_serializers_artist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_browsing_artists_index", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_browsing_artists_index", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_rationale_26", "to": "app_api_rest_browsing_artists_index", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_decorate_albums", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_list_albums", "to": "app_api_rest_browsing_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_albums_for_artist", "to": "app_api_rest_browsing_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_decorate_albums", "to": "app_api_rest_browsing_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_list_albums", "to": "app_api_rest_browsing_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_albums_for_artist", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_albums_for_artist", "to": "app_api_rest_serializers_album_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_albums_for_artist", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_albums_for_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_decorate_albums", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_list_albums", "to": "app_api_rest_browsing_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_folders", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_folders", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_folders", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_folders", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_genres", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_genres", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_genres", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_indexes", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artists", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_api_rest_serializers_artist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_artist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_browsing_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_serializers_album_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_api_rest_serializers_song_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_genres", "to": "app_api_rest_browsing_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_browsing_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_browsing_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_list_albums", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_ge", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_browsing_py_le", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_ge", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_py_le", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_browsing_list_albums", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_album_list2", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_list_albums", "to": "app_api_rest_browsing_decorate_albums", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_decorate_albums", "to": "app_api_rest_serializers_album_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_decorate_albums", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_api_rest_serializers_song_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_song", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_genres", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_ids_encode_album", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_ids_encode_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_serializers_iso", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_api_rest_serializers_song_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_browsing_get_music_directory", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_build_xml", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_is_json", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_render", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_scalar", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_strip_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_subsonic_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope", "to": "app_api_rest_envelope_subsonic_response", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_rationale_1", "to": "app_api_rest_envelope", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "app_api_rest_envelope", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_render", "to": "app_api_rest_envelope_is_json", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_build_xml", "to": "app_api_rest_envelope_scalar", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_build_xml", "to": "app_api_rest_envelope_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_build_xml", "to": "app_api_rest_envelope_py_element", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_render", "to": "app_api_rest_envelope_build_xml", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_render", "to": "app_api_rest_envelope_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_strip_none", "to": "app_api_rest_envelope_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_subsonic_response", "to": "app_api_rest_envelope_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_rationale_61", "to": "app_api_rest_envelope_strip_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_render", "to": "app_api_rest_envelope_strip_none", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_render", "to": "app_api_rest_envelope_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_subsonic_error", "to": "app_api_rest_envelope_render", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_subsonic_response", "to": "app_api_rest_envelope_render", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_subsonic_error", "to": "app_api_rest_envelope_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_subsonic_response", "to": "app_api_rest_envelope_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_rationale_92", "to": "app_api_rest_envelope_subsonic_response", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_get_license", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_ping", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "app_api_rest_envelope_subsonic_response", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_default_format_is_xml", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_list_renders_repeated_elements", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_ok_json_shape", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_ok_xml_shape", "to": "app_api_rest_envelope_subsonic_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_envelope_rationale_100", "to": "app_api_rest_envelope_subsonic_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "app_api_rest_envelope_subsonic_error", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_error_json_shape", "to": "app_api_rest_envelope_subsonic_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_error_xml_shape", "to": "app_api_rest_envelope_subsonic_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_decode_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_decode_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_decode_as", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_decode_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_decode_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_encode", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_encode_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_encode_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_encode_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_encode_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_idkind", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_parse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_api_rest_ids_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_rationale_1", "to": "app_api_rest_ids", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_api_rest_ids", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_as", "to": "app_api_rest_ids_idkind", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode", "to": "app_api_rest_ids_idkind", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_idkind", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_rest_ids_idkind", "to": "strenum", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_parse", "to": "app_api_rest_ids_idkind", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_ids_idkind", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_api_rest_ids_idkind", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_album", "to": "app_api_rest_ids_encode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_artist", "to": "app_api_rest_ids_encode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_playlist", "to": "app_api_rest_ids_encode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_track", "to": "app_api_rest_ids_encode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_album", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_artist", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_as", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_playlist", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_track", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_album", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_artist", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_playlist", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_encode_track", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_parse", "to": "app_api_rest_ids_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_ids_encode_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_ids_encode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_ids_encode_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_api_rest_ids_encode_album", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_ids_encode_album", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_ids_encode_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_api_rest_ids_encode_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_artist_dict", "to": "app_api_rest_ids_encode_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_ids_encode_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_ids_encode_playlist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_ids_encode_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_dict", "to": "app_api_rest_ids_encode_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_as", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_parse", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_rationale_44", "to": "app_api_rest_ids_parse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_ids_parse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_ids_parse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_album", "to": "app_api_rest_ids_decode_as", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_artist", "to": "app_api_rest_ids_decode_as", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_as", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_playlist", "to": "app_api_rest_ids_decode_as", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_ids_decode_track", "to": "app_api_rest_ids_decode_as", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_ids_decode_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_ids_decode_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_ids_decode_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_ids_decode_playlist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_api_rest_ids_decode_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_ids_decode_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_media_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_media_get_cover_art", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_api_rest_media_stream", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_rationale_1", "to": "app_api_rest_media", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_alias", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_header", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_streamingservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_stream", "to": "app_api_rest_media_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_media_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_media_py_streamingservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_media_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_media_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_api_rest_media_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_download", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_media_get_cover_art", "to": "app_api_rest_media_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_create_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_delete_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_get_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_get_playlists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_owned_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_playlist_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_playlist_songs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_playlists_update_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_serializers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_serializers_iso", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_api_rest_serializers_song_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_domain_entities_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists", "to": "app_domain_errors_permissiondeniederror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_rationale_1", "to": "app_api_rest_playlists", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_playlist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_playlist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_playlists_playlist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_dict", "to": "app_api_rest_playlists_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_dict", "to": "app_api_rest_serializers_iso", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_dict", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_playlists_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_owned_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_owned_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_owned_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_owned_playlist", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_owned_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_playlist_songs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_playlist_songs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_playlists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_playlists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_playlist_songs", "to": "app_api_rest_serializers_song_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_playlists_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlists", "to": "app_api_rest_playlists_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_get_playlist", "to": "app_api_rest_playlists_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_create_playlist", "to": "app_api_rest_playlists_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_delete_playlist", "to": "app_api_rest_playlists_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_playlists_update_playlist", "to": "app_api_rest_playlists_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_search_search3", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_serializers", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_serializers_album_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_serializers_artist_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search", "to": "app_api_rest_serializers_song_dict", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_rationale_1", "to": "app_api_rest_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_ge", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_le", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_query", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_search_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_serializers_album_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_serializers_artist_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_search_search3", "to": "app_api_rest_serializers_song_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_album_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_artist_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_content_type_for", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_iso", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_api_rest_serializers_song_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_rationale_1", "to": "app_api_rest_serializers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_api_rest_serializers_iso", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_iso", "to": "app_api_rest_serializers_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_serializers_iso", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_serializers_content_type_for", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_artist_dict", "to": "app_api_rest_serializers_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_artist_dict", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_api_rest_serializers_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_api_rest_serializers_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_album_dict", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_serializers_song_dict", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system", "to": "app_api_rest_system_get_license", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system", "to": "app_api_rest_system_ping", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_rationale_1", "to": "app_api_rest_system", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_ping", "to": "app_api_rest_system_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_ping", "to": "app_api_rest_system_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_ping", "to": "app_api_rest_system_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_get_license", "to": "app_api_rest_system_py_subsonicuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_get_license", "to": "app_api_rest_system_py_subsonicformat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_rest_system_get_license", "to": "app_api_rest_system_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_init_rationale_1", "to": "app_api_schemas_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_album", "to": "app_api_schemas_album_albumout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_album_rationale_1", "to": "app_api_schemas_album", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_album_albumout", "to": "app_api_schemas_album_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_album_albumout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search_librarysearchresponse", "to": "app_api_schemas_album_albumout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_album_albumout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_build_album_out", "to": "app_api_schemas_album_albumout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_schemas_album_albumout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_schemas_album_albumout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_album_albumout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_schemas_album_albumout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_album_albumout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_artist", "to": "app_api_schemas_artist_artistout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_artist_rationale_1", "to": "app_api_schemas_artist", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_artist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_artist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_artist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_artist_artistout", "to": "app_api_schemas_artist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_artist_artistout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search_librarysearchresponse", "to": "app_api_schemas_artist_artistout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_artist_artistout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist", "to": "app_api_schemas_artist_artistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_list_artists", "to": "app_api_schemas_artist_artistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_artist_artistout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_schemas_artist_artistout", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth", "to": "app_api_schemas_auth_loginrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth", "to": "app_api_schemas_auth_refreshrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth", "to": "app_api_schemas_auth_registerrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth", "to": "app_api_schemas_auth_tokenresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth_rationale_1", "to": "app_api_schemas_auth", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_auth", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth_loginrequest", "to": "app_api_schemas_auth_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_auth_loginrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_login", "to": "app_api_schemas_auth_loginrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth_refreshrequest", "to": "app_api_schemas_auth_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth_registerrequest", "to": "app_api_schemas_auth_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_auth_tokenresponse", "to": "app_api_schemas_auth_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_auth_registerrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_schemas_auth_registerrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_auth_refreshrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_logout", "to": "app_api_schemas_auth_refreshrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_refresh", "to": "app_api_schemas_auth_refreshrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_auth_tokenresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_login", "to": "app_api_schemas_auth_tokenresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_refresh", "to": "app_api_schemas_auth_tokenresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_schemas_auth_tokenresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_to_token_response", "to": "app_api_schemas_auth_tokenresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download", "to": "app_api_schemas_download_downloadcreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download", "to": "app_api_schemas_download_downloadcreateresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download", "to": "app_api_schemas_download_downloadjobout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_rationale_1", "to": "app_api_schemas_download", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_downloadcreate", "to": "app_api_schemas_download_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_rationale_12", "to": "app_api_schemas_download_downloadcreate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_download_downloadcreate", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_create_download", "to": "app_api_schemas_download_downloadcreate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_downloadcreateresponse", "to": "app_api_schemas_download_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_downloadjobout", "to": "app_api_schemas_download_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_downloadjobout_from_entity", "to": "app_api_schemas_download_downloadjobout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_download_downloadjobout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_materializeresponse", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_metadataapply", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_metadatamatch", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_metadatamatchesout", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_remotetracksave", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_trackout", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_track_trackupdate", "to": "app_api_schemas_download_downloadjobout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_download_downloadjobout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_get_download", "to": "app_api_schemas_download_downloadjobout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_list_downloads", "to": "app_api_schemas_download_downloadjobout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_retry_download", "to": "app_api_schemas_download_downloadjobout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_download_downloadjobout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_downloadjobout_from_entity", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_create_download", "to": "app_api_schemas_download_downloadjobout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_get_download", "to": "app_api_schemas_download_downloadjobout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_list_downloads", "to": "app_api_schemas_download_downloadjobout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_retry_download", "to": "app_api_schemas_download_downloadjobout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_schemas_download_downloadjobout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_download_rationale_51", "to": "app_api_schemas_download_downloadcreateresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_download_downloadcreateresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_create_download", "to": "app_api_schemas_download_downloadcreateresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_api_schemas_external_search_externalsearchresultout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search", "to": "app_domain_sources_searchresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_rationale_1", "to": "app_api_schemas_external_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_external_search", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_external_search", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresultout_from_entity", "to": "app_api_schemas_external_search_externalsearchresultout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresultout", "to": "app_api_schemas_external_search_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresultout", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_external_search_externalsearchresultout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_external_search_externalsearchresultout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresponse", "to": "app_api_schemas_external_search_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresultout_from_entity", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresultout_from_entity", "to": "app_domain_sources_searchresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search", "to": "app_api_schemas_external_search_externalsearchresultout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_api_schemas_external_search_externalsearchresultout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_external_search_externalsearchresponse", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_schemas_external_search_rationale_44", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_api_schemas_external_search_externalsearchresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_history", "to": "app_api_schemas_history_historyin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_history", "to": "app_api_schemas_history_historyout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_history_rationale_1", "to": "app_api_schemas_history", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_schemas_history", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_history_historyin", "to": "app_api_schemas_history_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_schemas_history_historyin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_api_schemas_history_historyin", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_history_historyout", "to": "app_api_schemas_history_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_schemas_history_historyout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_get_history", "to": "app_api_schemas_history_historyout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_like", "to": "app_api_schemas_like_likeevent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_like", "to": "app_api_schemas_like_likestate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_like_rationale_1", "to": "app_api_schemas_like", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_like", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_like_likeevent", "to": "app_api_schemas_like_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_like_likeevent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_add_like", "to": "app_api_schemas_like_likeevent", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_like_likestate", "to": "app_api_schemas_like_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_like_likestate", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_add_like", "to": "app_api_schemas_like_likestate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes_state", "to": "app_api_schemas_like_likestate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_pagination", "to": "app_api_schemas_pagination_pagedresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_pagination_rationale_1", "to": "app_api_schemas_pagination", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_pagination", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_pagination_pagedresponse", "to": "app_api_schemas_pagination_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_list_artists", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_list_downloads", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_get_history", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_list_playlists", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_pagination_pagedresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_schemas_pagination_pagedresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist", "to": "app_api_schemas_playlist_playlistaddtrack", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist", "to": "app_api_schemas_playlist_playlistcreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist", "to": "app_api_schemas_playlist_playlistout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist", "to": "app_api_schemas_playlist_playlistreorder", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist", "to": "app_api_schemas_playlist_playlistupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_rationale_1", "to": "app_api_schemas_playlist", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_playlistout", "to": "app_api_schemas_playlist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist_playlistout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_build_playlist_out", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_create_playlist", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_list_playlists", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_schemas_playlist_playlistout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_playlistaddtrack", "to": "app_api_schemas_playlist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_playlistcreate", "to": "app_api_schemas_playlist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_playlistreorder", "to": "app_api_schemas_playlist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_playlist_playlistupdate", "to": "app_api_schemas_playlist_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist_playlistcreate", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_create_playlist", "to": "app_api_schemas_playlist_playlistcreate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist_playlistupdate", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_schemas_playlist_playlistupdate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist_playlistaddtrack", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_schemas_playlist_playlistaddtrack", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_playlist_playlistreorder", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_schemas_playlist_playlistreorder", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_search_librarysearchresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search_rationale_1", "to": "app_api_schemas_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_search", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search_librarysearchresponse", "to": "app_api_schemas_search_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_search_librarysearchresponse", "to": "app_api_schemas_track_trackout", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_search_librarysearchresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_schemas_search_librarysearchresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source", "to": "app_api_schemas_source_scanresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source", "to": "app_api_schemas_source_sourcehealthout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source", "to": "app_api_schemas_source_sourceinfoout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_rationale_1", "to": "app_api_schemas_source", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_source", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourceinfoout", "to": "app_api_schemas_source_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourceinfoout_from_entity", "to": "app_api_schemas_source_sourceinfoout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourceinfoout", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_source_sourceinfoout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_list_sources", "to": "app_api_schemas_source_sourceinfoout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_scanresponse", "to": "app_api_schemas_source_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourcehealthout", "to": "app_api_schemas_source_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourceinfoout_from_entity", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_list_sources", "to": "app_api_schemas_source_sourceinfoout_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_rationale_20", "to": "app_api_schemas_source_scanresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_scanresponse", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_source_scanresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_scan_source", "to": "app_api_schemas_source_scanresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_source_sourcehealthout", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_api_v1_sources", "to": "app_api_schemas_source_sourcehealthout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_source_health", "to": "app_api_schemas_source_sourcehealthout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage", "to": "app_api_schemas_storage_diskusageout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage", "to": "app_api_schemas_storage_formatbreakdownout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage", "to": "app_api_schemas_storage_genrecountout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage", "to": "app_api_schemas_storage_storagestatsout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_rationale_1", "to": "app_api_schemas_storage", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_schemas_storage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_diskusageout", "to": "app_api_schemas_storage_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_schemas_storage_diskusageout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_schemas_storage_diskusageout", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_formatbreakdownout", "to": "app_api_schemas_storage_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_genrecountout", "to": "app_api_schemas_storage_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_storagestatsout", "to": "app_api_schemas_storage_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_schemas_storage_formatbreakdownout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_schemas_storage_formatbreakdownout", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_schemas_storage_genrecountout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_schemas_storage_genrecountout", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_storage_rationale_26", "to": "app_api_schemas_storage_storagestatsout", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_schemas_storage_storagestatsout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_schemas_storage_storagestatsout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_subsonic", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_subsonic_rationale_1", "to": "app_api_schemas_subsonic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_subsonic", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_schemas_subsonic", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_subsonic_rationale_11", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_subsonic_subsonicpasswordresponse", "to": "app_api_schemas_subsonic_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rotate_user_subsonic_password", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_reveal_my_subsonic_password", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rotate_my_subsonic_password", "to": "app_api_schemas_subsonic_subsonicpasswordresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_materializeresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_metadataapply", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_metadatamatch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_metadatamatchesout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_remotetracksave", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_trackout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track", "to": "app_api_schemas_track_trackupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_rationale_1", "to": "app_api_schemas_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_trackout", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_trackout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_build_track_out", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_schemas_track_trackout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_materializeresponse", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_metadataapply", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_metadatamatch", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_metadatamatchesout", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_remotetracksave", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_trackupdate", "to": "app_api_schemas_track_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_trackupdate", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_schemas_track_trackupdate", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_rationale_40", "to": "app_api_schemas_track_metadatamatch", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_metadatamatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_api_schemas_track_metadatamatch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_metadatamatchesout", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_api_schemas_track_metadatamatchesout", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_rationale_57", "to": "app_api_schemas_track_metadataapply", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_metadataapply", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_schemas_track_metadataapply", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_rationale_70", "to": "app_api_schemas_track_remotetracksave", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_remotetracksave", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_schemas_track_remotetracksave", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_track_rationale_80", "to": "app_api_schemas_track_materializeresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_schemas_track_materializeresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_schemas_track_materializeresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_upload", "to": "app_api_schemas_upload_uploadresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_upload_rationale_1", "to": "app_api_schemas_upload", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload", "to": "app_api_schemas_upload", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_upload_uploadresponse", "to": "app_api_schemas_upload_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload", "to": "app_api_schemas_upload_uploadresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_upload_file", "to": "app_api_schemas_upload_uploadresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_api_schemas_user_changepasswordrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_api_schemas_user_createuserrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_api_schemas_user_resetpasswordrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_api_schemas_user_updateuserrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_api_schemas_user_userresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_rationale_1", "to": "app_api_schemas_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_schemas_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_userresponse", "to": "app_api_schemas_user_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_userresponse_from_entity", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_user_userresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_create_user", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_deactivate_user", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_user", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_users", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_schemas_user_userresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_me", "to": "app_api_schemas_user_userresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_changepasswordrequest", "to": "app_api_schemas_user_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_createuserrequest", "to": "app_api_schemas_user_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_resetpasswordrequest", "to": "app_api_schemas_user_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_updateuserrequest", "to": "app_api_schemas_user_py_basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_userresponse_from_entity", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_create_user", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_deactivate_user", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_user", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_users", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_me", "to": "app_api_schemas_user_userresponse_from_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_user_createuserrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_create_user", "to": "app_api_schemas_user_createuserrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_schemas_user_rationale_34", "to": "app_api_schemas_user_updateuserrequest", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_user_updateuserrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_schemas_user_updateuserrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_schemas_user_resetpasswordrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_reset_password", "to": "app_api_schemas_user_resetpasswordrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_schemas_user_changepasswordrequest", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_change_my_password", "to": "app_api_schemas_user_changepasswordrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_admin", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_albums", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_artists", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_auth", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_downloads", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_history", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_likes", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_playlists", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_radio", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_search", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_sources", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_storage", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_streaming", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_sync", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_tracks", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_upload", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_user_settings", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init", "to": "app_api_v1_users", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_init_rationale_1", "to": "app_api_v1_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_create_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_deactivate_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_get_admin_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_get_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_list_admin_sources", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_list_services", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_list_users", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_reset_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_rotate_user_subsonic_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_trigger_reindex", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_update_admin_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_update_admin_source", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin", "to": "app_api_v1_admin_update_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rationale_1", "to": "app_api_v1_admin", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_users", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_users", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_create_user", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_deactivate_user", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_admin_settings", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_user", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_admin_sources", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_services", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_reset_password", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rotate_user_subsonic_password", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_trigger_reindex", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_admin_settings", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_admin_source", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_v1_admin_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_create_user", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_deactivate_user", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_user", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_reset_password", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_v1_admin_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_user", "to": "app_api_v1_admin_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_v1_admin_get_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_deactivate_user", "to": "app_api_v1_admin_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_reset_password", "to": "app_api_v1_admin_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rotate_user_subsonic_password", "to": "app_api_v1_admin_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_user", "to": "app_api_v1_admin_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rationale_81", "to": "app_api_v1_admin_deactivate_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rationale_89", "to": "app_api_v1_admin_rotate_user_subsonic_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_rotate_user_subsonic_password", "to": "app_api_v1_admin_py_subsonicauthservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_services", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_get_admin_settings", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_list_admin_sources", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_trigger_reindex", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_admin_settings", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_admin_update_admin_source", "to": "app_api_v1_admin_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_build_album_out", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_get_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_get_album_cover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_get_album_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_list_albums", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_albums_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_tracks", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_api_v1_tracks_build_track_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_albums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_albums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_build_album_out", "to": "app_api_v1_albums_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_build_album_out", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_build_album_out", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_v1_albums_build_album_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_v1_albums_build_album_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_albums_build_album_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_v1_albums_build_album_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_albums_build_album_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_albums_build_album_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_v1_albums_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_v1_albums_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_albums_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_v1_albums_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_v1_albums_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_v1_albums_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_list_albums", "to": "app_api_v1_albums_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_v1_albums_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_v1_albums_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_albums_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_v1_albums_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_albums_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_api_v1_albums_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_albums_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_albums_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_tracks", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_v1_albums_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_v1_albums_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_api_v1_albums_py_streamuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_albums_get_album_cover", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_get_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_get_artist_albums", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_get_artist_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_get_similar_artists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_list_artists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_artists_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_tracks", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_api_v1_tracks_build_track_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_list_artists", "to": "app_api_v1_artists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_list_artists", "to": "app_api_v1_artists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist", "to": "app_api_v1_artists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_v1_artists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_artists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist", "to": "app_api_v1_artists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_v1_artists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_artists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_similar_artists", "to": "app_api_v1_artists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist", "to": "app_api_v1_artists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_v1_artists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_artists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_similar_artists", "to": "app_api_v1_artists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_api_v1_artists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_albums", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_artists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_artists_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_artist_tracks", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_artists_get_similar_artists", "to": "app_api_v1_artists_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_logout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_me", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_refresh", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_register", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_api_v1_auth_to_token_response", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_domain_errors_permissiondeniederror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_domain_tokens", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth", "to": "app_domain_tokens_tokenpair", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_rationale_1", "to": "app_api_v1_auth", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_login", "to": "app_api_v1_auth_to_token_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_refresh", "to": "app_api_v1_auth_to_token_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_v1_auth_to_token_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_to_token_response", "to": "app_domain_tokens_tokenpair", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_login", "to": "app_api_v1_auth_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_v1_auth_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_logout", "to": "app_api_v1_auth_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_refresh", "to": "app_api_v1_auth_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_v1_auth_py_authservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_rationale_37", "to": "app_api_v1_auth_register", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_api_v1_auth_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_register", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_auth_me", "to": "app_api_v1_auth_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_cancel_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_create_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_get_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_list_downloads", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads", "to": "app_api_v1_downloads_retry_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_rationale_1", "to": "app_api_v1_downloads", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_list_downloads", "to": "app_api_v1_downloads_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_list_downloads", "to": "downloadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_cancel_download", "to": "downloadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_create_download", "to": "downloadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_get_download", "to": "downloadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_retry_download", "to": "downloadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_cancel_download", "to": "app_api_v1_downloads_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_create_download", "to": "app_api_v1_downloads_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_get_download", "to": "app_api_v1_downloads_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_retry_download", "to": "app_api_v1_downloads_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_get_download", "to": "app_api_v1_downloads_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_cancel_download", "to": "app_api_v1_downloads_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_retry_download", "to": "app_api_v1_downloads_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_downloads_cancel_download", "to": "app_api_v1_downloads_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_v1_history_get_history", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_api_v1_history_record_history", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_rationale_1", "to": "app_api_v1_history", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_api_v1_history_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_api_v1_history_py_historyrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_api_v1_history_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_api_v1_history_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_record_history", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_get_history", "to": "app_api_v1_history_py_historyrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_history_get_history", "to": "app_api_v1_history_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_v1_likes_add_like", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_v1_likes_get_likes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_v1_likes_get_likes_state", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_v1_tracks", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes", "to": "app_api_v1_tracks_build_track_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_rationale_1", "to": "app_api_v1_likes", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_add_like", "to": "app_api_v1_likes_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_add_like", "to": "app_api_v1_likes_py_likerepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_v1_likes_py_likerepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes_state", "to": "app_api_v1_likes_py_likerepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_v1_likes_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes_state", "to": "app_api_v1_likes_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_v1_likes_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_v1_likes_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_likes_get_likes", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_add_playlist_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_build_playlist_out", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_create_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_delete_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_get_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_get_playlist_cover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_get_playlist_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_list_playlists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_remove_playlist_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_reorder_playlist_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_playlists_update_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_tracks", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_api_v1_tracks_build_track_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_entities_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_entities_playlist_playlist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_errors_permissiondeniederror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_infrastructure_db_repositories_playlist_repository", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_build_playlist_out", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_build_playlist_out", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_create_playlist", "to": "app_api_v1_playlists_build_playlist_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_api_v1_playlists_build_playlist_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_list_playlists", "to": "app_api_v1_playlists_build_playlist_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_v1_playlists_build_playlist_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_v1_playlists_build_playlist_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_list_playlists", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_list_playlists", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_create_playlist", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_v1_playlists_py_playlistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_create_playlist", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_cover", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_v1_playlists_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_cover", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_api_v1_playlists_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_update_playlist", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_api_v1_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_delete_playlist", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_v1_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_api_v1_playlists_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_playlists_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_playlists_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_tracks", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_api_v1_playlists_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_add_playlist_track", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_remove_playlist_track", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_domain_errors_permissiondeniederror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_reorder_playlist_tracks", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_playlists_get_playlist_cover", "to": "app_api_v1_playlists_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_radio", "to": "app_api_v1_radio_next_radio_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_radio", "to": "app_api_v1_radio_start_radio", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_radio_rationale_1", "to": "app_api_v1_radio", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_radio_start_radio", "to": "app_api_v1_radio_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_radio_next_radio_track", "to": "app_api_v1_radio_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_search_search", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_search_search_library", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_tracks", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search", "to": "app_api_v1_tracks_build_track_out", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_rationale_1", "to": "app_api_v1_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_rationale_25", "to": "app_api_v1_search_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search", "to": "app_api_v1_search_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search", "to": "app_api_v1_search_py_sourceregistrydep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search", "to": "app_api_v1_search_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_search_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_search_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_search_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_search_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_search_search_library", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_v1_sources_list_sources", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_v1_sources_scan_source", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_v1_sources_search_source", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_api_v1_sources_source_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_domain_errors_dependencyunavailableerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources", "to": "app_workers_queue_enqueue", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_rationale_1", "to": "app_api_v1_sources", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_list_sources", "to": "app_api_v1_sources_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_list_sources", "to": "app_api_v1_sources_py_sourceregistrydep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_api_v1_sources_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_source_health", "to": "app_api_v1_sources_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_scan_source", "to": "app_api_v1_sources_py_sourceregistrydep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_api_v1_sources_py_sourceregistrydep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_source_health", "to": "app_api_v1_sources_py_sourceregistrydep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_scan_source", "to": "app_api_v1_sources_py_superuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_scan_source", "to": "app_domain_errors_dependencyunavailableerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_scan_source", "to": "app_workers_queue_enqueue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_api_v1_sources_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sources_search_source", "to": "app_domain_errors_dependencyunavailableerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_v1_storage_get_broken_files", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_v1_storage_get_duplicates", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_v1_storage_get_missing_metadata", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_v1_storage_get_storage_stats", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage", "to": "app_api_v1_storage_run_cleanup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_rationale_1", "to": "app_api_v1_storage", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_v1_storage_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_v1_storage_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_v1_storage_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_v1_storage_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_storage_stats", "to": "app_api_v1_storage_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_rationale_35", "to": "app_api_v1_storage_get_storage_stats", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_duplicates", "to": "app_api_v1_storage_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_broken_files", "to": "app_api_v1_storage_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_get_missing_metadata", "to": "app_api_v1_storage_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_storage_run_cleanup", "to": "app_api_v1_storage_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming", "to": "app_api_v1_streaming_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming", "to": "app_api_v1_streaming_stream_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_rationale_1", "to": "app_api_v1_streaming", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_alias", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_header", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_streamingservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_streamuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_streaming_stream_track", "to": "app_api_v1_streaming_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sync", "to": "app_api_v1_sync_get_changes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sync", "to": "app_api_v1_sync_push_changes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sync_rationale_1", "to": "app_api_v1_sync", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sync_get_changes", "to": "app_api_v1_sync_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_sync_push_changes", "to": "app_api_v1_sync_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_build_track_out", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_delete_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_enrich_metadata", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_get_metadata_matches", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_get_similar_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_get_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_get_track_cover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_list_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_materialize_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_optimize_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_save_remote_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_set_metadata", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_api_v1_tracks_update_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks", "to": "app_workers_queue_enqueue", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_build_track_out", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_build_track_out", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_build_track_out", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_build_track_out", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_build_track_out", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_enrich_metadata", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_similar_tracks", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_optimize_track", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_list_tracks", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_enrich_metadata", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_py_trackrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_py_artistrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_py_albumrepodep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_enrich_metadata", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_similar_tracks", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_optimize_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_update_track", "to": "app_api_v1_tracks_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_rationale_114", "to": "app_api_v1_tracks_save_remote_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_save_remote_track", "to": "remotelibraryservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_materialize_track", "to": "remotelibraryservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_rationale_140", "to": "app_api_v1_tracks_materialize_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_api_v1_tracks_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_api_v1_tracks_py_response", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_delete_track", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_filestoragedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_similar_tracks", "to": "app_api_v1_tracks_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_optimize_track", "to": "app_api_v1_tracks_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_streamingresponse", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_api_v1_tracks_py_streamuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_track_cover", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_enrich_metadata", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_enrich_metadata", "to": "app_workers_queue_enqueue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_rationale_249", "to": "app_api_v1_tracks_enrich_metadata", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_get_metadata_matches", "to": "metadataservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_rationale_265", "to": "app_api_v1_tracks_get_metadata_matches", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_rationale_301", "to": "app_api_v1_tracks_set_metadata", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_tracks_set_metadata", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload", "to": "app_api_v1_upload_upload_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_rationale_1", "to": "app_api_v1_upload", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_upload_file", "to": "app_api_v1_upload_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_upload_file", "to": "file", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_upload_file", "to": "uploadfile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_upload_upload_file", "to": "uploadservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings", "to": "app_api_v1_user_settings_get_scrobbling_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings", "to": "app_api_v1_user_settings_get_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings", "to": "app_api_v1_user_settings_set_scrobbling_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings", "to": "app_api_v1_user_settings_update_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings_rationale_1", "to": "app_api_v1_user_settings", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings_get_settings", "to": "app_api_v1_user_settings_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings_get_scrobbling_settings", "to": "app_api_v1_user_settings_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings_set_scrobbling_settings", "to": "app_api_v1_user_settings_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_user_settings_update_settings", "to": "app_api_v1_user_settings_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_v1_users_change_my_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_v1_users_reveal_my_subsonic_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users", "to": "app_api_v1_users_rotate_my_subsonic_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rationale_1", "to": "app_api_v1_users", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_change_my_password", "to": "app_api_v1_users_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_change_my_password", "to": "app_api_v1_users_py_userservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_reveal_my_subsonic_password", "to": "app_api_v1_users_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rotate_my_subsonic_password", "to": "app_api_v1_users_py_currentuser", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rationale_27", "to": "app_api_v1_users_reveal_my_subsonic_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_reveal_my_subsonic_password", "to": "app_api_v1_users_py_subsonicauthservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rotate_my_subsonic_password", "to": "app_api_v1_users_py_subsonicauthservicedep", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_api_v1_users_rationale_38", "to": "app_api_v1_users_rotate_my_subsonic_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_init_rationale_1", "to": "app_application_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_application_auth_service_authservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_application_auth_service_hash_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_application_auth_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_ports_passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_ports_refreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_ports_tokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_ports_userrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_tokens", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_tokens_issuedtoken", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_tokens_tokenpair", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service", "to": "app_domain_tokens_tokentype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_rationale_1", "to": "app_application_auth_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_application_auth_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_application_auth_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_persist_refresh", "to": "app_application_auth_service_hash_token", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_rationale_23", "to": "app_application_auth_service_hash_token", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_authenticate_access", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_issue_pair", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_login", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_logout", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_persist_refresh", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_application_auth_service_authservice_refresh", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_ports_passwordhasher", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_ports_refreshtokenrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_ports_tokenservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_ports_userrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_tokens_tokenpair", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_auth_service_authservice", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service", "to": "app_application_auth_service_authservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_access_token_not_accepted_as_refresh", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_inactive_user", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_success_then_authenticate", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_unknown_user", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_wrong_password", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_logout_ignores_garbage", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_logout_revokes_refresh", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_refresh_rotates_and_invalidates_old", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_application_auth_service_authservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_change_password_requires_current", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_change_password_revokes_sessions", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_create_user_duplicate_username", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_deactivate_revokes_sessions", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_get_unknown_user_raises", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_reset_password_revokes_sessions", "to": "app_application_auth_service_authservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_init", "to": "app_domain_ports_passwordhasher", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_init", "to": "app_domain_ports_refreshtokenrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_init", "to": "app_domain_ports_tokenservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_init", "to": "app_domain_ports_userrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_login", "to": "app_application_auth_service_authservice_issue_pair", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_login", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_login", "to": "app_domain_tokens_tokenpair", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_refresh", "to": "app_application_auth_service_authservice_issue_pair", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_refresh", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_refresh", "to": "app_domain_tokens_tokenpair", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_authenticate_access", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_authenticate_access", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_issue_pair", "to": "app_application_auth_service_authservice_persist_refresh", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_issue_pair", "to": "app_application_auth_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_issue_pair", "to": "app_domain_tokens_tokenpair", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_persist_refresh", "to": "app_application_auth_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_auth_service_authservice_persist_refresh", "to": "app_domain_tokens_issuedtoken", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_application_download_service_downloadrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_application_download_service_downloadservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_application_download_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_ports_artistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_ports_downloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_rationale_1", "to": "app_application_download_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_application_download_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_application_download_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_ports_downloadjobrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadrequest", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice_request", "to": "app_application_download_service_downloadrequest", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_rationale_48", "to": "app_application_download_service_downloadrequest", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_cancel", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_get", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_request", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_retry", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_application_download_service_downloadservice_store_result", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_ports_downloadjobrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_download_service_downloadservice", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_tasks_download_task", "to": "app_application_download_service_downloadservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_application_download_service_downloadservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_application_download_service_downloadservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakeartistrepo", "to": "app_application_download_service_downloadservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "app_application_download_service_downloadservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_fakestorage", "to": "app_application_download_service_downloadservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_faketrackrepo", "to": "app_application_download_service_downloadservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_service", "to": "app_application_download_service_downloadservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "app_application_download_service_py_enrichenqueuer", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "app_domain_ports_artistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "app_domain_ports_downloadjobrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_init", "to": "downloadenqueuer", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_request", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_request", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_cancel", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_get", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_list", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_retry", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_store_result", "to": "app_application_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_list", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_get", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_get", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_retry", "to": "app_application_download_service_downloadservice_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_cancel", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_rationale_130", "to": "app_application_download_service_downloadservice_cancel", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_retry", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_downloadservice_store_result", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_download_service_rationale_154", "to": "app_application_download_service_downloadservice_store_result", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_application_import_service_importsummary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_application_import_service_libraryimportservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_application_import_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_ports_artistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_ports_indexablesource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service", "to": "app_domain_sources_sourcefile", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_rationale_1", "to": "app_application_import_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_application_import_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_application_import_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_importsummary", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_importsummary", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_importsummary", "to": "app_domain_ports_indexablesource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_importsummary", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_importsummary", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_libraryimportservice_scan_and_import", "to": "app_application_import_service_importsummary", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_application_import_service_libraryimportservice_import_one", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_application_import_service_libraryimportservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_application_import_service_libraryimportservice_scan_and_import", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_domain_ports_indexablesource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_import_service_libraryimportservice", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_tasks_import_task", "to": "app_application_import_service_libraryimportservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_application_import_service_libraryimportservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_application_import_service_libraryimportservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo", "to": "app_application_import_service_libraryimportservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakesource", "to": "app_application_import_service_libraryimportservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakestorage", "to": "app_application_import_service_libraryimportservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "app_application_import_service_libraryimportservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_service", "to": "app_application_import_service_libraryimportservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_init", "to": "app_domain_ports_artistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_init", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_scan_and_import", "to": "app_application_import_service_libraryimportservice_import_one", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_scan_and_import", "to": "app_application_import_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_scan_and_import", "to": "app_domain_ports_indexablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_import_one", "to": "app_application_import_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_import_service_libraryimportservice_import_one", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_application_metadata_service_enrichmentresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_application_metadata_service_first_int", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_application_metadata_service_opt_str", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_application_metadata_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_cover", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_metadata", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_metadata_audiotags", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_entities_metadata_recordingmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_acoustidclient", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_albumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_artistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_audiofingerprinter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_audiotagreader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_coverartextractor", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_coverartprovider", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_rationale_1", "to": "app_application_metadata_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_application_metadata_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_application_metadata_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_application_metadata_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_acoustidclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_albumrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_audiofingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_audiotagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_coverartextractor", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_coverartprovider", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_enrichmentresult", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_enrichmentresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_enrich", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_extract_cover", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_fetch_cover", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_find_matches", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_identify", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_no_match_reason", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_read_local", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_album", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_artist", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_application_metadata_service_metadataenrichmentservice_save_cover", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_acoustidclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_albumrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_audiofingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_audiotagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_coverartextractor", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_coverartprovider", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_metadata_service_metadataenrichmentservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_service", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fixturestorage", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "app_application_metadata_service_metadataenrichmentservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_acoustidclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_albumrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_artistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_audiofingerprinter", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_audiotagreader", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_coverartextractor", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_coverartprovider", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_first_int", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_identify", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_no_match_reason", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_read_local", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_album", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_artist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_opt_str", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_enrich", "to": "app_application_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_find_matches", "to": "app_application_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_album", "to": "app_application_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_artist", "to": "app_application_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_save_cover", "to": "app_application_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_rationale_161", "to": "app_application_metadata_service_metadataenrichmentservice_no_match_reason", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_find_matches", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_rationale_170", "to": "app_application_metadata_service_metadataenrichmentservice_find_matches", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_read_local", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_identify", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_album", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "to": "app_application_metadata_service_metadataenrichmentservice_extract_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "to": "app_application_metadata_service_metadataenrichmentservice_fetch_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "to": "app_application_metadata_service_metadataenrichmentservice_save_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_rationale_245", "to": "app_application_metadata_service_metadataenrichmentservice_resolve_cover", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_extract_cover", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_fetch_cover", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_metadata_service_metadataenrichmentservice_save_cover", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_application_remote_library_service_materializeoutcome", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_application_remote_library_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_application_remote_library_service_remotelibraryservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_ports_artistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_ports_downloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_rationale_1", "to": "app_application_remote_library_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "app_application_remote_library_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_materializeoutcome", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_materializeoutcome", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_materializeoutcome", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_materializeoutcome", "to": "app_domain_ports_downloadjobrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_materializeoutcome", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_rationale_34", "to": "app_application_remote_library_service_materializeoutcome", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_request_materialize", "to": "app_application_remote_library_service_materializeoutcome", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_application_remote_library_service_remotelibraryservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_application_remote_library_service_remotelibraryservice_request_materialize", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_application_remote_library_service_remotelibraryservice_save_remote", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_domain_ports_downloadjobrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_remote_library_service_remotelibraryservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service", "to": "app_application_remote_library_service_remotelibraryservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo", "to": "app_application_remote_library_service_remotelibraryservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "app_application_remote_library_service_remotelibraryservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "app_application_remote_library_service_remotelibraryservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_service", "to": "app_application_remote_library_service_remotelibraryservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_init", "to": "app_domain_ports_artistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_init", "to": "app_domain_ports_downloadjobrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_init", "to": "materializeenqueuer", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_rationale_67", "to": "app_application_remote_library_service_remotelibraryservice_save_remote", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_save_remote", "to": "app_application_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_save_remote", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_save_remote", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_request_materialize", "to": "app_application_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_rationale_95", "to": "app_application_remote_library_service_remotelibraryservice_request_materialize", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_request_materialize", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_remote_library_service_remotelibraryservice_request_materialize", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_application_streaming_service_parse_range", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_application_streaming_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_application_streaming_service_streamingservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_application_streaming_service_streamresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_rationale_1", "to": "app_application_streaming_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice_open_stream", "to": "app_application_streaming_service_streamresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamresult", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamresult", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamresult", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamresult", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_parse_range", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_rationale_39", "to": "app_application_streaming_service_parse_range", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice_open_stream", "to": "app_application_streaming_service_parse_range", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_application_streaming_service_streamingservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_application_streaming_service_streamingservice_open_stream", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamingservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_streaming_service_streamingservice_init", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice_open_stream", "to": "app_application_streaming_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_streaming_service_streamingservice_open_stream", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_application_subsonic_auth_service_decode_legacy_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_application_subsonic_auth_service_md5_hex", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_application_subsonic_auth_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_core_security_generate_subsonic_password", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_ports_subsoniccipher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service", "to": "app_domain_ports_userrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_rationale_1", "to": "app_application_subsonic_auth_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "app_application_subsonic_auth_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "to": "app_application_subsonic_auth_service_md5_hex", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_decode_legacy_password", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_rationale_30", "to": "app_application_subsonic_auth_service_decode_legacy_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "to": "app_application_subsonic_auth_service_decode_legacy_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_application_subsonic_auth_service_subsonicauthservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_domain_ports_subsoniccipher", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice", "to": "app_domain_ports_userrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_service_with_user", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_reveal_generates_then_is_stable", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_rotate_then_authenticate", "to": "app_application_subsonic_auth_service_subsonicauthservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_init", "to": "app_domain_ports_subsoniccipher", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_init", "to": "app_domain_ports_userrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_rationale_52", "to": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_authenticate", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_rationale_82", "to": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "to": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "to": "app_application_subsonic_auth_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "to": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_rotate", "to": "app_core_security_generate_subsonic_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "to": "app_application_subsonic_auth_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "to": "app_application_subsonic_auth_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_rationale_89", "to": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_reveal", "to": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_subsonic_auth_service_subsonicauthservice_require_user", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_application_upload_service_stream_to_temp", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_application_upload_service_uploadfileprotocol", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_application_upload_service_uploadresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_application_upload_service_uploadservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_entities_user_user", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_ports_artistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service", "to": "app_domain_ports_trackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_rationale_1", "to": "app_application_upload_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_stream_to_temp", "to": "app_application_upload_service_uploadfileprotocol", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadfileprotocol", "to": "app_application_upload_service_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadfileprotocol", "to": "app_application_upload_service_uploadfileprotocol_read", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadfileprotocol", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadfileprotocol", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadfileprotocol", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadservice_handle_upload", "to": "app_application_upload_service_uploadfileprotocol", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_stream_to_temp", "to": "app_application_upload_service_uploadfileprotocol_read", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadresult", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadresult", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadresult", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadservice_handle_upload", "to": "app_application_upload_service_uploadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_stream_to_temp", "to": "app_application_upload_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_handle_upload", "to": "app_application_upload_service_stream_to_temp", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_handle_upload", "to": "app_application_upload_service_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_init", "to": "app_application_upload_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice", "to": "app_application_upload_service_uploadservice_handle_upload", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice", "to": "app_application_upload_service_uploadservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice", "to": "app_domain_ports_artistrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadservice", "to": "app_domain_ports_filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadservice", "to": "app_domain_ports_trackrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_upload_service_uploadservice_init", "to": "app_application_upload_service_py_enrichenqueuer", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_init", "to": "app_domain_ports_artistrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_init", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_init", "to": "app_domain_ports_trackrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_upload_service_uploadservice_handle_upload", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_application_user_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_application_user_service_userservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_errors_alreadyexistserror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_ports_passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_ports_refreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service", "to": "app_domain_ports_userrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_rationale_1", "to": "app_application_user_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_application_user_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_application_user_service", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_change_password", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_create_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_deactivate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_get_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_list_users", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_reset_password", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_set_active", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_application_user_service_userservice_set_superuser", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_errors_alreadyexistserror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_ports_passwordhasher", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_ports_refreshtokenrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_application_user_service_userservice", "to": "app_domain_ports_userrepository", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_cli", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_create_admin", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_access_token_not_accepted_as_refresh", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_inactive_user", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_success_then_authenticate", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_unknown_user", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_login_wrong_password", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_logout_ignores_garbage", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_logout_revokes_refresh", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_refresh_rotates_and_invalidates_old", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_application_user_service_userservice", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_application_user_service_userservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_application_user_service_userservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_change_password_requires_current", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_change_password_revokes_sessions", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_create_user_duplicate_username", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_deactivate_revokes_sessions", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_get_unknown_user_raises", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_reset_password_revokes_sessions", "to": "app_application_user_service_userservice", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_init", "to": "app_domain_ports_passwordhasher", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_init", "to": "app_domain_ports_refreshtokenrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_init", "to": "app_domain_ports_userrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_create_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_create_user", "to": "app_domain_errors_alreadyexistserror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_list_users", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_change_password", "to": "app_application_user_service_userservice_get_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_get_user", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_get_user", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_get_user", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_reset_password", "to": "app_application_user_service_userservice_get_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_active", "to": "app_application_user_service_userservice_get_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_superuser", "to": "app_application_user_service_userservice_get_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_change_password", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_deactivate", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_reset_password", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_active", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_superuser", "to": "app_application_user_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_superuser", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_deactivate", "to": "app_application_user_service_userservice_set_active", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_set_active", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_rationale_59", "to": "app_application_user_service_userservice_reset_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_rationale_65", "to": "app_application_user_service_userservice_deactivate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_deactivate", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_rationale_71", "to": "app_application_user_service_userservice_change_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_application_user_service_userservice_change_password", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_cli_cmd_create_admin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_cli_create_admin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_cli_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_domain_errors_alreadyexistserror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_rationale_1", "to": "app_cli", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_cmd_create_admin", "to": "app_cli_create_admin", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_create_admin", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_create_admin", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_create_admin", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_create_admin", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_cmd_create_admin", "to": "namespace", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_cli_main", "to": "app_cli_cmd_create_admin", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_init_rationale_1", "to": "app_core_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config", "to": "app_core_config_app_version", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config", "to": "app_core_config_get_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config", "to": "app_core_config_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_rationale_1", "to": "app_core_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_core_config", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_settings_musicbrainz_user_agent", "to": "app_core_config_app_version", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_core_config_app_version", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_core_config_app_version", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_get_settings", "to": "app_core_config_settings", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_settings", "to": "app_core_config_settings_is_prod", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_settings", "to": "app_core_config_settings_musicbrainz_user_agent", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_settings", "to": "app_core_config_settings_require_async_driver", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_settings", "to": "basesettings", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_core_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_jwttokenservice", "to": "app_core_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_jwttokenservice_init", "to": "app_core_config_settings", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_core_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_build_source_registry", "to": "app_core_config_settings", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_core_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_settings", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_settings", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_fakebody", "to": "app_core_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_test_provider_raises_when_s3_bucket_missing", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_provider_returns_s3_storage_when_configured", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_core_config_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_settings", "to": "app_core_config_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_rationale_136", "to": "app_core_config_settings_musicbrainz_user_agent", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_config_rationale_147", "to": "app_core_config_get_settings", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis_get_redis", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_get_engine", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider_get_file_storage", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_lifespan", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker_startup", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_register_disabled_forbidden", "to": "app_core_config_get_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_core_config_get_settings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_hashing", "to": "app_core_hashing_sha256_of_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_hashing_rationale_1", "to": "app_core_hashing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_hashing_sha256_of_file", "to": "app_core_hashing_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging", "to": "app_core_logging_add_correlation_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging", "to": "app_core_logging_configure_logging", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging", "to": "app_core_logging_get_logger", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging", "to": "app_core_logging", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging_rationale_1", "to": "app_core_logging", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_core_logging", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging_add_correlation_id", "to": "eventdict", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging_add_correlation_id", "to": "wrappedlogger", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging_configure_logging", "to": "app_core_logging_add_correlation_id", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main", "to": "app_core_logging_configure_logging", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_core_logging_configure_logging", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_core_logging_configure_logging", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker_startup", "to": "app_core_logging_configure_logging", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_logging_get_logger", "to": "filteringboundlogger", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_core_logging_get_logger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_security_argon2passwordhasher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_security_generate_subsonic_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_security_jwttokenservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_security_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_core_security_subsonicpasswordcipher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_tokens", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_tokens_issuedtoken", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_tokens_tokenclaims", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security", "to": "app_domain_tokens_tokentype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_rationale_1", "to": "app_core_security", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_core_security", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_rationale_29", "to": "app_core_security_generate_subsonic_password", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_core_security_generate_subsonic_password", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_roundtrip", "to": "app_core_security_generate_subsonic_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_token_then_md5_matches", "to": "app_core_security_generate_subsonic_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_generate_subsonic_password_is_long_and_unique", "to": "app_core_security_generate_subsonic_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_rationale_34", "to": "app_core_security_subsonicpasswordcipher", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_core_security_subsonicpasswordcipher_decrypt", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_core_security_subsonicpasswordcipher_encrypt", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_core_security_subsonicpasswordcipher_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_subsonicpasswordcipher", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth", "to": "app_core_security_subsonicpasswordcipher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_service_with_user", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_reveal_generates_then_is_stable", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_rotate_then_authenticate", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_core_security_subsonicpasswordcipher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_roundtrip", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_token_then_md5_matches", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_wrong_key_fails", "to": "app_core_security_subsonicpasswordcipher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher_encrypt", "to": "app_core_security_jwttokenservice_decode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher_decrypt", "to": "app_core_security_jwttokenservice_decode", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_subsonicpasswordcipher_decrypt", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_core_security_argon2passwordhasher_hash", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_core_security_argon2passwordhasher_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_core_security_argon2passwordhasher_verify_and_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_argon2passwordhasher", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_rationale_59", "to": "app_core_security_argon2passwordhasher", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_core_security_argon2passwordhasher", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_password_hash_roundtrip", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_core_security_argon2passwordhasher", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "app_core_security_argon2passwordhasher", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice", "to": "app_core_security_jwttokenservice_decode", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice", "to": "app_core_security_jwttokenservice_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice", "to": "app_core_security_jwttokenservice_issue", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice", "to": "app_domain_errors_authenticationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_jwttokenservice", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_jwttokenservice", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_jwttokenservice", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_core_security_rationale_72", "to": "app_core_security_jwttokenservice", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_core_security_jwttokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_core_security_jwttokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_issue_and_decode_roundtrip", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_expired_token", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_tampered_token", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_wrong_secret", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_core_security_jwttokenservice", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "app_core_security_jwttokenservice", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_issue", "to": "app_core_security_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_issue", "to": "app_domain_tokens_issuedtoken", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_issue", "to": "app_domain_tokens_tokentype", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_decode", "to": "app_core_security_py_uuid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_decode", "to": "app_domain_errors_authenticationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_decode", "to": "app_domain_tokens_tokenclaims", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_core_security_jwttokenservice_decode", "to": "app_domain_tokens_tokentype", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_init_rationale_1", "to": "app_domain_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_album", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_cover", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_download", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_history", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_history_playhistoryentry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_like", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_like_like", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_metadata", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_metadata_audiotags", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_metadata_fingerprint", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_metadata_recordingmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_playlist", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_playlist_playlist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_storage", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_storage_diskusage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_storage_formatbreakdown", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_storage_librarystats", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_storage_objectstat", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_track", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_user", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_user_credentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_user_subsoniccredentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init", "to": "app_domain_entities_user_user", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_init_rationale_1", "to": "app_domain_entities_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_album", "to": "app_domain_entities_album_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_domain_entities_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_by_id", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_many", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_or_create", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_or_create_remote", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_list", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_to_entity", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo_get_or_create", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_domain_entities_album_album", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo_get_or_create", "to": "app_domain_entities_album_album", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_cover", "to": "app_domain_entities_cover_coverart", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_cover_rationale_1", "to": "app_domain_entities_cover", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_domain_entities_cover", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart", "to": "app_domain_entities_cover", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_cover", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_cover_coverart", "to": "app_domain_entities_cover_coverart_extension", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartextractor_extract", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartprovider_fetch_release_group", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_from_picture", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient_fetch_release_group", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_cover_coverart", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor_extract", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverextractor_init", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverprovider_fetch_release_group", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverprovider_init", "to": "app_domain_entities_cover_coverart", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "app_domain_entities_cover_coverart", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_entities_cover_rationale_18", "to": "app_domain_entities_cover_coverart_extension", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_download", "to": "app_domain_entities_download_downloadjob", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_download_rationale_1", "to": "app_domain_entities_download", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_entities_download", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_add", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_get_active_for_source", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_get_by_id", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_list", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_active_for_source", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_to_entity", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_load_job", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_add", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_get_active_for_source", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_get_by_id", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_make", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_entities_download_downloadjob", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_add", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_get_active_for_source", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_get_by_id", "to": "app_domain_entities_download_downloadjob", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_set_status", "to": "app_domain_entities_download_downloadjob", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_history", "to": "app_domain_entities_history_playhistoryentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_history_rationale_1", "to": "app_domain_entities_history", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_domain_entities_history", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_history_playhistoryentry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_add", "to": "app_domain_entities_history_playhistoryentry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_list", "to": "app_domain_entities_history_playhistoryentry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_domain_entities_history_playhistoryentry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "to": "app_domain_entities_history_playhistoryentry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "to": "app_domain_entities_history_playhistoryentry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_to_entity", "to": "app_domain_entities_history_playhistoryentry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_like", "to": "app_domain_entities_like_like", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_like_rationale_1", "to": "app_domain_entities_like", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_like", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_domain_entities_like", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_add", "to": "app_domain_entities_like_like", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_get_latest_state", "to": "app_domain_entities_like_like", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_domain_entities_like_like", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "to": "app_domain_entities_like_like", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "to": "app_domain_entities_like_like", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_to_entity", "to": "app_domain_entities_like_like", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata", "to": "app_domain_entities_metadata_audiotags", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata", "to": "app_domain_entities_metadata_fingerprint", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata", "to": "app_domain_entities_metadata_recordingmatch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata_rationale_1", "to": "app_domain_entities_metadata", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_domain_entities_metadata", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint", "to": "app_domain_entities_metadata", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_domain_entities_metadata", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_metadata", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata_rationale_12", "to": "app_domain_entities_metadata_audiotags", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_metadata_audiotags", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiotagreader_read", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_domain_entities_metadata_audiotags", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_metadata_audiotags", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader_init", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketagreader_read", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "app_domain_entities_metadata_audiotags", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_service", "to": "app_domain_entities_metadata_audiotags", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_manual_track_is_never_touched", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_successful_enrich_clears_error", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_only_enriches_and_relinks_artist_and_album", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "to": "app_domain_entities_metadata_audiotags", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata_rationale_31", "to": "app_domain_entities_metadata_fingerprint", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_metadata_fingerprint", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient_lookup", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient_lookup_all", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter_calculate", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_domain_entities_metadata_fingerprint", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint", "to": "app_domain_entities_metadata_fingerprint", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_calculate", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_metadata_fingerprint", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeacoustid_lookup", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid_lookup_all", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakefingerprinter_calculate", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter_init", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "app_domain_entities_metadata_fingerprint", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_service", "to": "app_domain_entities_metadata_fingerprint", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "to": "app_domain_entities_metadata_fingerprint", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "app_domain_entities_metadata_fingerprint", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "to": "app_domain_entities_metadata_fingerprint", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "to": "app_domain_entities_metadata_fingerprint", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "to": "app_domain_entities_metadata_fingerprint", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_metadata_rationale_39", "to": "app_domain_entities_metadata_recordingmatch", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_metadata_recordingmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient_lookup", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient_lookup_all", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_domain_entities_metadata_recordingmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_parse_best_match", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_parse_matches", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_parse_one", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_metadata_recordingmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeacoustid_init", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid_lookup", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid_lookup_all", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "app_domain_entities_metadata_recordingmatch", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_metadata_service_service", "to": "app_domain_entities_metadata_recordingmatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "to": "app_domain_entities_metadata_recordingmatch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "app_domain_entities_metadata_recordingmatch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "to": "app_domain_entities_metadata_recordingmatch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "to": "app_domain_entities_metadata_recordingmatch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_playlist", "to": "app_domain_entities_playlist_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_playlist_rationale_1", "to": "app_domain_entities_playlist", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_domain_entities_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_add", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_get_by_id", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_list", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_update", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_domain_entities_playlist_playlist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_to_entity", "to": "app_domain_entities_playlist_playlist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage", "to": "app_domain_entities_storage_diskusage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage", "to": "app_domain_entities_storage_formatbreakdown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage", "to": "app_domain_entities_storage_librarystats", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage", "to": "app_domain_entities_storage_objectstat", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage_rationale_1", "to": "app_domain_entities_storage", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_entities_storage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_domain_entities_storage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_domain_entities_storage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_storage_objectstat", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage_stat", "to": "app_domain_entities_storage_objectstat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_domain_entities_storage_objectstat", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_stat", "to": "app_domain_entities_storage_objectstat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_domain_entities_storage_objectstat", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_domain_entities_storage_objectstat", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage_rationale_15", "to": "app_domain_entities_storage_diskusage", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_storage_diskusage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage_disk_usage", "to": "app_domain_entities_storage_diskusage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_domain_entities_storage_diskusage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_disk_usage", "to": "app_domain_entities_storage_diskusage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage_rationale_25", "to": "app_domain_entities_storage_formatbreakdown", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_entities_storage_formatbreakdown", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "to": "app_domain_entities_storage_formatbreakdown", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_storage_rationale_34", "to": "app_domain_entities_storage_librarystats", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_storage_librarystats", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_library_stats", "to": "app_domain_entities_storage_librarystats", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_entities_storage_librarystats", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "to": "app_domain_entities_storage_librarystats", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_track", "to": "app_domain_entities_track_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_track", "to": "app_domain_entities_track_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_track_rationale_1", "to": "app_domain_entities_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_entities_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_by_id", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_many", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_or_create_remote", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_list", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_list", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_to_entity", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakeartistrepo_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeartistrepo_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_entities_track_artist", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo_get_or_create", "to": "app_domain_entities_track_artist", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_list_liked_tracks", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_get_tracks", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_add", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_apply_enrichment", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_get_by_id", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_get_by_source", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_list", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_materialize", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_update", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_track_to_entity", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_track_to_entity", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_source", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_to_entity", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_faketrackrepo_add", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_faketrackrepo_get_by_source", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_track", "to": "app_domain_entities_track_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_faketrackrepo_add", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_faketrackrepo_get_by_source", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "app_domain_entities_track_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_track", "to": "app_domain_entities_track_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_domain_entities_track_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo_apply_enrichment", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo_get_by_id", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo_init", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_pending_track", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo_add", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo_get_by_id", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo_get_by_source", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_local_track", "to": "app_domain_entities_track_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user", "to": "app_domain_entities_user_credentials", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user", "to": "app_domain_entities_user_subsoniccredentials", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user", "to": "app_domain_entities_user_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user_rationale_1", "to": "app_domain_entities_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "app_domain_entities_user", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user_rationale_16", "to": "app_domain_entities_user_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_add", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_get_by_id", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_list", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_active", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_superuser", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_add", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_list", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_to_entity", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_add", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_get_by_id", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_list", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_active", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_superuser", "to": "app_domain_entities_user_user", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user_rationale_29", "to": "app_domain_entities_user_credentials", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_user_credentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_get_credentials_by_username", "to": "app_domain_entities_user_credentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_domain_entities_user_credentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_credentials_by_username", "to": "app_domain_entities_user_credentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "app_domain_entities_user_credentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_get_credentials_by_username", "to": "app_domain_entities_user_credentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_entities_user_rationale_38", "to": "app_domain_entities_user_subsoniccredentials", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_entities_user_subsoniccredentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_get_subsonic_credentials_by_username", "to": "app_domain_entities_user_subsoniccredentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_domain_entities_user_subsoniccredentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_credentials_by_username", "to": "app_domain_entities_user_subsoniccredentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "app_domain_entities_user_subsoniccredentials", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_get_subsonic_credentials_by_username", "to": "app_domain_entities_user_subsoniccredentials", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_alreadyexistserror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_authenticationerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_conflicterror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_dependencyunavailableerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_domainerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_notfounderror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_permissiondeniederror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_storageerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors", "to": "app_domain_errors_validationerror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_1", "to": "app_domain_errors", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_domain_errors", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_alreadyexistserror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_authenticationerror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_conflicterror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_dependencyunavailableerror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_domainerror", "to": "app_domain_errors_domainerror_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_domainerror", "to": "app_domain_errors_py_exception", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_notfounderror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_permissiondeniederror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rangenotsatisfiableerror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_9", "to": "app_domain_errors_domainerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_storageerror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_validationerror", "to": "app_domain_errors_domainerror", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_domainerror_init", "to": "app_domain_errors_rangenotsatisfiableerror_init", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_22", "to": "app_domain_errors_notfounderror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_get", "to": "app_domain_errors_notfounderror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "app_domain_errors_notfounderror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_test_materialize_missing_track_raises", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_security", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_id_malformed_rejected", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_security_test_id_wrong_prefix_rejected", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_user_service", "to": "app_domain_errors_notfounderror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_get_unknown_user_raises", "to": "app_domain_errors_notfounderror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_errors_rationale_28", "to": "app_domain_errors_alreadyexistserror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "app_domain_errors_alreadyexistserror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_create_user_duplicate_username", "to": "app_domain_errors_alreadyexistserror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_errors_rationale_34", "to": "app_domain_errors_conflicterror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_40", "to": "app_domain_errors_validationerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_fetchable", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_indexable", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_searchable", "to": "app_domain_errors_validationerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_domain_errors_validationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_domain_errors_validationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "app_domain_errors_validationerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_remote_library_service_test_save_remote_requires_source_id", "to": "app_domain_errors_validationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth", "to": "app_domain_errors_validationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_missing_credentials_is_validation_error", "to": "app_domain_errors_validationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth_test_authenticate_missing_username_is_validation_error", "to": "app_domain_errors_validationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_errors_rationale_46", "to": "app_domain_errors_authenticationerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_test_access_token_not_accepted_as_refresh", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service_test_login_inactive_user", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service_test_login_unknown_user", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service_test_login_wrong_password", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service_test_logout_revokes_refresh", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_service_test_refresh_rotates_and_invalidates_old", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_security", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_expired_token", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_security_test_jwt_rejects_tampered_token", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_security_test_jwt_rejects_wrong_secret", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_inactive_user_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth_test_authenticate_no_password_set_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth_test_authenticate_unknown_user_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth_test_authenticate_wrong_password_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_auth_test_authenticate_wrong_token_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_subsonic_security", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_test_cipher_wrong_key_fails", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_user_service", "to": "app_domain_errors_authenticationerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_test_change_password_requires_current", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_user_service_test_change_password_revokes_sessions", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_user_service_test_deactivate_revokes_sessions", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_user_service_test_reset_password_revokes_sessions", "to": "app_domain_errors_authenticationerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_errors_rationale_52", "to": "app_domain_errors_permissiondeniederror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_58", "to": "app_domain_errors_dependencyunavailableerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_domain_errors_dependencyunavailableerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue", "to": "app_domain_errors_dependencyunavailableerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_67", "to": "app_domain_errors_storageerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_domain_errors_storageerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_storage_local_localfilestorage_open_range", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_stat", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_not_found", "to": "app_domain_errors_storageerror", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_domain_errors_storageerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_delete", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_exists", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_open_range", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_domain_errors_storageerror", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_domain_errors_storageerror", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_fakebody", "to": "app_domain_errors_storageerror", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "to": "app_domain_errors_storageerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "to": "app_domain_errors_storageerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "to": "app_domain_errors_storageerror", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_errors_rangenotsatisfiableerror", "to": "app_domain_errors_rangenotsatisfiableerror_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_errors_rationale_73", "to": "app_domain_errors_rangenotsatisfiableerror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_acoustidclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_albumrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_artistrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_audiofingerprinter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_audiotagreader", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_coverartextractor", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_coverartprovider", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_downloadjobrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_fetchablesource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_filestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_historyrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_indexablesource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_likerepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_passwordhasher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_playlistrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_refreshtokenrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_searchablesource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_sourcebackend", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_subsoniccipher", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_tokenservice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_trackrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_ports_userrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources_rawmetadata", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources_searchresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources_sourcefile", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_tokens", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_tokens_issuedtoken", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_tokens_tokenclaims", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports", "to": "app_domain_tokens_tokentype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_1", "to": "app_domain_ports", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_ports", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_get_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_get_subsonic_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_get_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_set_active", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_set_password_hash", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_set_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_ports_userrepository_set_superuser", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_userrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_py_protocol", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_many", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_or_create", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_get_or_create_remote", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_list", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_set_cover_path", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_track_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository_track_count_many", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_album_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_get_many", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository_track_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_delete", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_increment_retry", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_list", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_set_progress", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_set_status", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_list", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_count_liked_tracks", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_get_latest_state", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository_list_liked_tracks", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_add_track", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_delete", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_get_track_total", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_get_tracks", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_has_track", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_list", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_max_position", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_remove_track", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_reorder_tracks", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_track_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_track_count_many", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository_update", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository_is_valid", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository_revoke", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository_revoke_all_for_user", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice_issue", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_add", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_apply_enrichment", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_count", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_delete", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_get_by_id", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_list", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_mark_enrichment_failed", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_materialize", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository_update", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_get_subsonic_password_enc", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_active", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_password_hash", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_subsonic_password_enc", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_userrepository_set_superuser", "to": "app_domain_ports_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_60", "to": "app_domain_ports_subsoniccipher", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_ports_subsoniccipher_decrypt", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_ports_subsoniccipher_encrypt", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_subsoniccipher", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_ports_refreshtokenrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_ports_refreshtokenrepository_is_valid", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_ports_refreshtokenrepository_revoke", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_ports_refreshtokenrepository_revoke_all_for_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_refreshtokenrepository_add", "to": "app_domain_ports_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository_failure_rate", "to": "app_domain_ports_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository_add", "to": "app_domain_ports_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_76", "to": "app_domain_ports_refreshtokenrepository_is_valid", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_ports_passwordhasher_hash", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_ports_passwordhasher_verify_and_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_passwordhasher", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_86", "to": "app_domain_ports_passwordhasher_verify_and_update", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_ports_tokenservice_decode", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_ports_tokenservice_issue", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_tokenservice_issue", "to": "app_domain_tokens_issuedtoken", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice_issue", "to": "app_domain_tokens_tokentype", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_95", "to": "app_domain_ports_tokenservice_decode", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_tokenservice_decode", "to": "app_domain_tokens_tokenclaims", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_as_local_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_disk_usage", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_exists", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_open_range", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_ports_filestorage_stat", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_filestorage", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_storage_provider", "to": "app_domain_ports_filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider_get_file_storage", "to": "app_domain_ports_filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage_save_file", "to": "app_domain_ports_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter_calculate", "to": "app_domain_ports_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiotagreader_read", "to": "app_domain_ports_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartextractor_extract", "to": "app_domain_ports_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage_as_local_path", "to": "app_domain_ports_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_filestorage_as_local_path", "to": "app_domain_ports_py_abstractasynccontextmanager", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_110", "to": "app_domain_ports_filestorage_disk_usage", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_album_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_get_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_get_or_create_remote", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_ports_artistrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_artistrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_118", "to": "app_domain_ports_artistrepository_get_or_create_remote", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_apply_enrichment", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_genres", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_get_by_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_library_stats", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_mark_enrichment_failed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_materialize", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_ports_trackrepository_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_trackrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_157", "to": "app_domain_ports_trackrepository_materialize", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_212", "to": "app_domain_ports_trackrepository_apply_enrichment", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_220", "to": "app_domain_ports_trackrepository_mark_enrichment_failed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_get_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_get_or_create_remote", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_set_cover_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_ports_albumrepository_track_count_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_albumrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_244", "to": "app_domain_ports_albumrepository_get_or_create_remote", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_add_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_get_track_total", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_get_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_has_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_max_position", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_remove_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_reorder_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_track_count_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_ports_playlistrepository_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_playlistrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_ports_likerepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_ports_likerepository_count_liked_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_ports_likerepository_get_latest_state", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_ports_likerepository_list_liked_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_likerepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_ports_historyrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_ports_historyrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_ports_historyrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_historyrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_failure_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_get_active_for_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_increment_retry", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_set_progress", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_ports_downloadjobrepository_set_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_downloadjobrepository", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_322", "to": "app_domain_ports_downloadjobrepository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_335", "to": "app_domain_ports_downloadjobrepository_get_active_for_source", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_358", "to": "app_domain_ports_downloadjobrepository_increment_retry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_363", "to": "app_domain_ports_downloadjobrepository_failure_rate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_ports_sourcebackend", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_ports_sourcebackend", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_370", "to": "app_domain_ports_sourcebackend", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_ports_sourcebackend", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_ports_sourcebackend_info", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_ports_sourcebackend_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_sourcebackend", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_ports_sourcebackend", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_ports_sourcebackend", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_get", "to": "app_domain_ports_sourcebackend", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_init", "to": "app_domain_ports_sourcebackend", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_sourcebackend_info", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_ports_indexablesource_scan", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_indexablesource", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_382", "to": "app_domain_ports_indexablesource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_ports_indexablesource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_ports_indexablesource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_indexable", "to": "app_domain_ports_indexablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_indexablesource_scan", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_rationale_388", "to": "app_domain_ports_searchablesource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_ports_searchablesource_search", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_searchablesource", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_ports_searchablesource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_ports_searchablesource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_searchable", "to": "app_domain_ports_searchablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_searchables", "to": "app_domain_ports_searchablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_searchablesource_search", "to": "app_domain_sources_searchresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_ports_fetchablesource_fetch", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_ports_fetchablesource_get_metadata", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_fetchablesource", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_397", "to": "app_domain_ports_fetchablesource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_ports_fetchablesource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_ports_fetchablesource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_fetchable", "to": "app_domain_ports_fetchablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_ports_fetchablesource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_run_fetch", "to": "app_domain_ports_fetchablesource", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource_fetch", "to": "app_domain_ports_py_progresscallback", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource_fetch", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_fetchablesource_get_metadata", "to": "app_domain_sources_rawmetadata", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_ports_audiotagreader_read", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiotagreader", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_412", "to": "app_domain_ports_audiotagreader", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_ports_audiofingerprinter_calculate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_ports_audiofingerprinter_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_audiofingerprinter", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_419", "to": "app_domain_ports_audiofingerprinter", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_ports_acoustidclient_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_ports_acoustidclient_lookup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_ports_acoustidclient_lookup_all", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_acoustidclient", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_427", "to": "app_domain_ports_acoustidclient", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_ports_coverartextractor_extract", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartextractor", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_439", "to": "app_domain_ports_coverartextractor", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_ports_coverartprovider_fetch_release_group", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_ports_coverartprovider_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_tokens_issuedtoken", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_tokens_tokenclaims", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_coverartprovider", "to": "app_domain_tokens_tokentype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_ports_rationale_446", "to": "app_domain_ports_coverartprovider", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources", "to": "app_domain_sources_downloadresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources", "to": "app_domain_sources_rawmetadata", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources", "to": "app_domain_sources_searchresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources", "to": "app_domain_sources_sourcefile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources", "to": "app_domain_sources_sourceinfo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources_rationale_1", "to": "app_domain_sources", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_domain_sources", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources_rationale_25", "to": "app_domain_sources_sourceinfo", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_info", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_infos", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_info", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_downloads_api_fakefetchsource_info", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_domain_sources_sourceinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakesource", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakesource_info", "to": "app_domain_sources_sourceinfo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "app_domain_sources_sourceinfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_domain_sources_rationale_35", "to": "app_domain_sources_sourcefile", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_domain_sources_sourcefile", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_scan", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "app_domain_sources_sourcefile", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakesource", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_fakesource_init", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakesource_scan", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "app_domain_sources_sourcefile", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_service_file", "to": "app_domain_sources_sourcefile", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources_rationale_50", "to": "app_domain_sources_searchresult", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_sources_searchresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_search", "to": "app_domain_sources_searchresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_to_result", "to": "app_domain_sources_searchresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_domain_sources_searchresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_domain_sources_searchresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_downloads_api_fakefetchsource_search", "to": "app_domain_sources_searchresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources_rationale_69", "to": "app_domain_sources_rawmetadata", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_sources_rawmetadata", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_domain_sources_rawmetadata", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_get_metadata", "to": "app_domain_sources_rawmetadata", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_sources_rationale_84", "to": "app_domain_sources_downloadresult", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_fetch", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_run_fetch", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakeartistrepo", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_fakestorage", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_faketrackrepo", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "app_domain_sources_downloadresult", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_domain_sources_downloadresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_domain_sources_downloadresult", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_downloads_api_fakefetchsource_fetch", "to": "app_domain_sources_downloadresult", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens", "to": "app_domain_tokens_issuedtoken", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens", "to": "app_domain_tokens_tokenclaims", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens", "to": "app_domain_tokens_tokenpair", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens", "to": "app_domain_tokens_tokentype", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens_rationale_1", "to": "app_domain_tokens", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_domain_tokens", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "app_domain_tokens_tokentype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens_rationale_22", "to": "app_domain_tokens_tokenclaims", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens_rationale_32", "to": "app_domain_tokens_issuedtoken", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_domain_tokens_rationale_42", "to": "app_domain_tokens_tokenpair", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_init_rationale_1", "to": "app_infrastructure_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_init", "to": "app_infrastructure_cache_redis", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_init", "to": "app_infrastructure_cache_redis_close_redis", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_init", "to": "app_infrastructure_cache_redis_get_redis", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_init_rationale_1", "to": "app_infrastructure_cache_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis", "to": "app_infrastructure_cache_redis_close_redis", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis", "to": "app_infrastructure_cache_redis_get_redis", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis_rationale_1", "to": "app_infrastructure_cache_redis", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis_get_redis", "to": "redis", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_cache_redis_rationale_11", "to": "app_infrastructure_cache_redis_get_redis", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_infrastructure_cache_redis_close_redis", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_lifespan", "to": "app_infrastructure_cache_redis_close_redis", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_base", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_engine", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_init_rationale_1", "to": "app_infrastructure_db_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_base", "to": "app_infrastructure_db_base_base", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_base_rationale_1", "to": "app_infrastructure_db_base", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_base", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_base_base", "to": "declarativebase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_base_rationale_20", "to": "app_infrastructure_db_base_base", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album_albummodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist_artistmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job_downloadjobmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_like", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like_likemodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics_lyricsmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_play_history", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history_playhistorymodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist_playlistmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_playlist_playlisttrackmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_base_base", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user_refreshtokenmodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user_usermodel", "to": "app_infrastructure_db_base_base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_engine", "to": "app_infrastructure_db_engine_dispose_engine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine", "to": "app_infrastructure_db_engine_get_engine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine", "to": "app_infrastructure_db_engine_session_scope", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_rationale_1", "to": "app_infrastructure_db_engine", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_dispose_engine", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_get_engine", "to": "asyncengine", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_get_sessionmaker", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_db", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_engine_get_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_db_reachable", "to": "app_infrastructure_db_engine_get_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_get_sessionmaker", "to": "app_infrastructure_db_engine_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_get_sessionmaker", "to": "async_sessionmaker", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_session_scope", "to": "app_infrastructure_db_engine_get_sessionmaker", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_session_scope", "to": "app_infrastructure_db_engine_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_rationale_44", "to": "app_infrastructure_db_engine_session_scope", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_load_job", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_mark_failed", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_run_fetch", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_set_status", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_set_status", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_album_get_or_create_remote_dedups_by_remote_id", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_binds_existing_local_artist", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_dedups_by_remote_id", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_engine_session_scope", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_infrastructure_db_engine_session_scope", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_engine_rationale_57", "to": "app_infrastructure_db_engine_dispose_engine", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_lifespan", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_db", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_infrastructure_db_engine_dispose_engine", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_album", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_album_albummodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_artist", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_download_job", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_like", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_like_likemodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_lyrics", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_lyrics_lyricsmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_play_history", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_playlist", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_track", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_user", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init", "to": "app_infrastructure_db_models_user_usermodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_init_rationale_1", "to": "app_infrastructure_db_models_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_models_album_albummodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album_rationale_1", "to": "app_infrastructure_db_models_album", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_models_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_album", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_album_albummodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_album_albummodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_models_album_albummodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "to": "app_infrastructure_db_models_album_albummodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "to": "app_infrastructure_db_models_album_albummodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_set_cover_path", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_album_repository_to_entity", "to": "app_infrastructure_db_models_album_albummodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_album_albummodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_album_count", "to": "app_infrastructure_db_models_album_albummodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist_rationale_1", "to": "app_infrastructure_db_models_artist", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_artist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_artist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_artist_artistmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_artist_artistmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_count", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_list", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository_to_entity", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "to": "app_infrastructure_db_models_artist_artistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job_rationale_1", "to": "app_infrastructure_db_models_download_job", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_models_download_job", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_download_job_downloadjobmodel", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_download_job_downloadjobmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_download_job_downloadjobmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_count", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_delete", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_failure_rate", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_active_for_source", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_increment_retry", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_progress", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_status", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_to_entity", "to": "app_infrastructure_db_models_download_job_downloadjobmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_likevalue", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_lyricsstatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_metadatastatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_storagepolicy", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums", "to": "app_infrastructure_db_models_enums_tracksource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums_rationale_1", "to": "app_infrastructure_db_models_enums", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_models_enums", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums_rationale_12", "to": "app_infrastructure_db_models_enums_tracksource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_infrastructure_db_models_enums_tracksource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_infrastructure_db_models_enums_tracksource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_db_models_enums_tracksource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_db_models_enums_tracksource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_enums_rationale_22", "to": "app_infrastructure_db_models_enums_storagepolicy", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_enums_storagepolicy", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_models_enums_storagepolicy", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_enums_rationale_33", "to": "app_infrastructure_db_models_enums_metadatastatus", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_enums_metadatastatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_models_enums_metadatastatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_enums_rationale_42", "to": "app_infrastructure_db_models_enums_likevalue", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_enums_rationale_51", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_models_enums_downloadstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_enums_rationale_61", "to": "app_infrastructure_db_models_enums_lyricsstatus", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_models_enums_lyricsstatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics_lyricsmodel", "to": "app_infrastructure_db_models_enums_lyricsstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_enums_rationale_70", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_models_enums_trackavailability", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like", "to": "app_infrastructure_db_models_like_likemodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like_rationale_1", "to": "app_infrastructure_db_models_like", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_models_like", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_like_likemodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_models_like_likemodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "to": "app_infrastructure_db_models_like_likemodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "to": "app_infrastructure_db_models_like_likemodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_like_repository_to_entity", "to": "app_infrastructure_db_models_like_likemodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_models_lyrics_lyricsmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics_rationale_1", "to": "app_infrastructure_db_models_lyrics", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_lyrics_lyricsmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_mixins", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_mixins", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_mixins_rationale_1", "to": "app_infrastructure_db_models_mixins", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_models_mixins", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_mixins_rationale_11", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history_playhistorymodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist_playlistmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_playlist_playlisttrackmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user_refreshtokenmodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user_usermodel", "to": "app_infrastructure_db_models_mixins_uuidprimarykeymixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_mixins_rationale_21", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist_playlistmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_playlist_playlisttrackmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_trackmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user_refreshtokenmodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_user_usermodel", "to": "app_infrastructure_db_models_mixins_timestampmixin", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_play_history", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_play_history_rationale_1", "to": "app_infrastructure_db_models_play_history", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_models_play_history", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_count", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_history_repository_to_entity", "to": "app_infrastructure_db_models_play_history_playhistorymodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist_rationale_1", "to": "app_infrastructure_db_models_playlist", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_models_playlist", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_delete", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_reorder_tracks", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_to_entity", "to": "app_infrastructure_db_models_playlist_playlistmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_playlist_rationale_29", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_reorder_tracks", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "to": "app_infrastructure_db_models_playlist_playlisttrackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_models_track", "to": "app_infrastructure_db_models_track_trackmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_track_rationale_1", "to": "app_infrastructure_db_models_track", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_models_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_models_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_models_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_track", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_track_count", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_like_repository_track_to_entity", "to": "app_infrastructure_db_models_track_trackmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_track_to_entity", "to": "app_infrastructure_db_models_track_trackmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_models_track_trackmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "to": "app_infrastructure_db_models_track_trackmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_delete", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_source", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_mark_enrichment_failed", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "to": "app_infrastructure_db_models_track_trackmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_track_repository_to_entity", "to": "app_infrastructure_db_models_track_trackmodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user", "to": "app_infrastructure_db_models_user_usermodel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user_rationale_1", "to": "app_infrastructure_db_models_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_infrastructure_db_models_user_usermodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_add", "to": "app_infrastructure_db_models_user_usermodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_count", "to": "app_infrastructure_db_models_user_usermodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "to": "app_infrastructure_db_models_user_usermodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_credentials_by_username", "to": "app_infrastructure_db_models_user_usermodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "to": "app_infrastructure_db_models_user_usermodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_credentials_by_username", "to": "app_infrastructure_db_models_user_usermodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_list", "to": "app_infrastructure_db_models_user_usermodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_user_repository_to_entity", "to": "app_infrastructure_db_models_user_usermodel", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_models_user_rationale_27", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "to": "app_infrastructure_db_models_user_refreshtokenmodel", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_album_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_artist_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_download_job_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_history_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_like_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_playlist_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_refresh_token_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_track_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_user_repository", "label": "re_exports", "title": "re_exports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_init_rationale_1", "to": "app_infrastructure_db_repositories_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_rationale_1", "to": "app_infrastructure_db_repositories_album_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "to": "app_infrastructure_db_repositories_album_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_set_cover_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_album_get_or_create_remote_dedups_by_remote_id", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_init", "to": "app_infrastructure_db_repositories_album_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_rationale_40", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_by_id", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_many", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_list", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_set_cover_path", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count_many", "to": "app_infrastructure_db_repositories_album_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_rationale_78", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_get_or_create_remote", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_track_count_many", "to": "app_infrastructure_db_repositories_album_repository_sqlalchemyalbumrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_rationale_1", "to": "app_infrastructure_db_repositories_artist_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_list", "to": "app_infrastructure_db_repositories_artist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_album_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_album_get_or_create_remote_dedups_by_remote_id", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_binds_existing_local_artist", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_dedups_by_remote_id", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_init", "to": "app_infrastructure_db_repositories_artist_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_rationale_41", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_or_create_remote", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_by_id", "to": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_album_count", "to": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_get_many", "to": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_track_count", "to": "app_infrastructure_db_repositories_artist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_album_count", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_track_count", "to": "app_infrastructure_db_repositories_artist_repository_sqlalchemyartistrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_repositories_download_job_repository_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository", "to": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_rationale_1", "to": "app_infrastructure_db_repositories_download_job_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "to": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_active_for_source", "to": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "to": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "to": "app_infrastructure_db_repositories_download_job_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_failure_rate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_active_for_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_increment_retry", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_progress", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_load_job", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_mark_failed", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_run_fetch", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_set_status", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_set_status", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_init", "to": "app_infrastructure_db_repositories_download_job_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_add", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_count", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_delete", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_get_by_id", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_increment_retry", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_list", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_progress", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_set_status", "to": "app_infrastructure_db_repositories_download_job_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_failure_rate", "to": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_download_job_repository_sqlalchemydownloadjobrepository_failure_rate", "to": "app_infrastructure_db_repositories_download_job_repository_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_repositories_history_repository_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_repositories_history_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository", "to": "app_infrastructure_db_repositories_history_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_rationale_1", "to": "app_infrastructure_db_repositories_history_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "to": "app_infrastructure_db_repositories_history_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "to": "app_infrastructure_db_repositories_history_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository", "to": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_init", "to": "app_infrastructure_db_repositories_history_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "to": "app_infrastructure_db_repositories_history_repository_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_add", "to": "app_infrastructure_db_repositories_history_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_count", "to": "app_infrastructure_db_repositories_history_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_history_repository_sqlalchemyhistoryrepository_list", "to": "app_infrastructure_db_repositories_history_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_repositories_like_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository", "to": "app_infrastructure_db_repositories_like_repository_track_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_rationale_1", "to": "app_infrastructure_db_repositories_like_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "to": "app_infrastructure_db_repositories_like_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "to": "app_infrastructure_db_repositories_like_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "to": "app_infrastructure_db_repositories_like_repository_track_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_count_liked_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository", "to": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_init", "to": "app_infrastructure_db_repositories_like_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_add", "to": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_count_liked_tracks", "to": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_get_latest_state", "to": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_like_repository_sqlalchemylikerepository_list_liked_tracks", "to": "app_infrastructure_db_repositories_like_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository", "to": "app_infrastructure_db_repositories_playlist_repository_track_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_rationale_1", "to": "app_infrastructure_db_repositories_playlist_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "to": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "to": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "to": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "to": "app_infrastructure_db_repositories_playlist_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "to": "app_infrastructure_db_repositories_playlist_repository_track_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_track_total", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_has_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_max_position", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_reorder_tracks", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count_many", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_init", "to": "app_infrastructure_db_repositories_playlist_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_by_id", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_delete", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_track_total", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_tracks", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_has_track", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_list", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_max_position", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_reorder_tracks", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count_many", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_update", "to": "app_infrastructure_db_repositories_playlist_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count_many", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_remove_track", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_delete", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_get_track_total", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_track_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_add_track", "to": "app_infrastructure_db_repositories_playlist_repository_sqlalchemyplaylistrepository_has_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_rationale_1", "to": "app_infrastructure_db_repositories_refresh_token_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_init", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_add", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_is_valid", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_refresh_token_repository_sqlalchemyrefreshtokenrepository_revoke_all_for_user", "to": "app_infrastructure_db_repositories_refresh_token_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_rationale_1", "to": "app_infrastructure_db_repositories_track_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_source", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "to": "app_infrastructure_db_repositories_track_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_genres", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_mark_enrichment_failed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_init", "to": "app_infrastructure_db_repositories_track_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_get_by_id", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_add", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_apply_enrichment", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_delete", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_list", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_mark_enrichment_failed", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_update", "to": "app_infrastructure_db_repositories_track_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_rationale_102", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_materialize", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_rationale_125", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_genres", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_genres", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_rationale_140", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_library_stats", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_count", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_track_repository_rationale_334", "to": "app_infrastructure_db_repositories_track_repository_sqlalchemytrackrepository_mark_enrichment_failed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_rationale_1", "to": "app_infrastructure_db_repositories_user_repository", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_add", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_credentials_by_username", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_credentials_by_username", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_list", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "to": "app_infrastructure_db_repositories_user_repository_to_entity", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_password_hash", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_init", "to": "app_infrastructure_db_repositories_user_repository_py_asyncsession", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_password_enc", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_password_hash", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_subsonic_password_enc", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "to": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_by_id", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_get_subsonic_password_enc", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_active", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_password_hash", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_subsonic_password_enc", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_db_repositories_user_repository_sqlalchemyuserrepository_set_superuser", "to": "app_infrastructure_db_repositories_user_repository_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_init_rationale_1", "to": "app_infrastructure_metadata_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_infrastructure_metadata_acoustid_parse_matches", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid", "to": "app_infrastructure_metadata_acoustid_parse_one", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_rationale_1", "to": "app_infrastructure_metadata_acoustid", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_acoustid", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "app_infrastructure_metadata_acoustid", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_acoustid", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_throttle", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_rationale_29", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_acoustid_client", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fixturestorage", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_all", "to": "app_infrastructure_metadata_acoustid_parse_matches", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_acoustidhttpclient_lookup_raw", "to": "app_infrastructure_metadata_acoustid_acoustidhttpclient_throttle", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_parse_best_match", "to": "app_infrastructure_metadata_acoustid_parse_matches", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_empty_results_returns_none", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_error_status_returns_none", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_non_dict_payload_returns_none", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_parses_full_recording", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_picks_highest_score", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_result_without_recordings_still_returns_id", "to": "app_infrastructure_metadata_acoustid_parse_best_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_acoustid_parse_matches", "to": "app_infrastructure_metadata_acoustid_parse_one", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_infrastructure_metadata_cover_extractor_decode_vorbis_picture", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_infrastructure_metadata_cover_extractor_from_picture", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_infrastructure_metadata_cover_extractor_front_or_first", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_rationale_1", "to": "app_infrastructure_metadata_cover_extractor", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_cover_extractor", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_rationale_35", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract", "to": "app_infrastructure_metadata_cover_extractor_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_infrastructure_metadata_cover_extractor_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_infrastructure_metadata_cover_extractor_decode_vorbis_picture", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_infrastructure_metadata_cover_extractor_from_picture", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_infrastructure_metadata_cover_extractor_front_or_first", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_mutagencoverextractor_extract_sync", "to": "app_infrastructure_sources_registry_sourceregistry_get", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_cover_extractor_from_picture", "to": "app_infrastructure_metadata_cover_extractor_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_rationale_89", "to": "app_infrastructure_metadata_cover_extractor_from_picture", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_decode_vorbis_picture", "to": "app_infrastructure_metadata_cover_extractor_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_front_or_first", "to": "app_infrastructure_metadata_cover_extractor_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_cover_extractor_rationale_100", "to": "app_infrastructure_metadata_cover_extractor_front_or_first", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_rationale_1", "to": "app_infrastructure_metadata_coverart", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_coverart", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient_fetch_release_group", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient_throttle", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_rationale_30", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_coverart_coverartarchiveclient_fetch_release_group", "to": "app_infrastructure_metadata_coverart_coverartarchiveclient_throttle", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_rationale_1", "to": "app_infrastructure_metadata_fingerprint", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_fingerprint", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_fingerprint", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_calculate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_rationale_23", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fixturestorage", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_calculate", "to": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_is_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_fingerprint_fpcalcfingerprinter_calculate", "to": "app_infrastructure_metadata_fingerprint_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_infrastructure_metadata_tags_first", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_infrastructure_metadata_tags_parse_track_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags", "to": "app_infrastructure_metadata_tags_parse_year", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_rationale_1", "to": "app_infrastructure_metadata_tags", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_tags", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_tags", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "app_infrastructure_metadata_tags", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "to": "app_infrastructure_metadata_tags_first", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_parse_track_number", "to": "app_infrastructure_metadata_tags_first", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_parse_year", "to": "app_infrastructure_metadata_tags_first", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_rationale_24", "to": "app_infrastructure_metadata_tags_first", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "app_infrastructure_metadata_tags_first", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader_test_first_takes_head_of_list", "to": "app_infrastructure_metadata_tags_first", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "to": "app_infrastructure_metadata_tags_parse_year", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "app_infrastructure_metadata_tags_parse_year", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader_test_parse_year_extracts_four_digits", "to": "app_infrastructure_metadata_tags_parse_year", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "to": "app_infrastructure_metadata_tags_parse_track_number", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "app_infrastructure_metadata_tags_parse_track_number", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader_test_parse_track_number_handles_slash_form", "to": "app_infrastructure_metadata_tags_parse_track_number", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader", "to": "app_infrastructure_metadata_tags_mutagentagreader_read", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader", "to": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_rationale_51", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_fixturestorage", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_real_file_enrichment_test_real_file_embedded_tags_are_read", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "app_infrastructure_metadata_tags_mutagentagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read", "to": "app_infrastructure_metadata_tags_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_metadata_tags_mutagentagreader_read_sync", "to": "app_infrastructure_metadata_tags_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_init_rationale_1", "to": "app_infrastructure_sources_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_rationale_1", "to": "app_infrastructure_sources_local_folder", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_local_folder", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "app_infrastructure_sources_local_folder", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_infrastructure_sources_local_folder_localfoldersource_info", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_infrastructure_sources_local_folder_localfoldersource_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_infrastructure_sources_local_folder_localfoldersource_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource", "to": "app_infrastructure_sources_local_folder_localfoldersource_scan", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_rationale_23", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_build_source_registry", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_local_folder_source", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_info_reports_kind_and_availability", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_is_available_false_when_missing", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_scan_discovers_audio_recursively", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_source_id_is_stable_relative_path", "to": "app_infrastructure_sources_local_folder_localfoldersource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_init", "to": "app_infrastructure_sources_local_folder_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_scan", "to": "app_infrastructure_sources_local_folder_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_info", "to": "app_infrastructure_sources_local_folder_localfoldersource_is_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_local_folder_localfoldersource_scan", "to": "app_infrastructure_sources_local_folder_localfoldersource_is_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_youtube", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_rationale_1", "to": "app_infrastructure_sources_registry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_infrastructure_sources_registry", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_build_source_registry", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_fetchable", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_get", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_indexable", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_infos", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_searchable", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_registry_sourceregistry_searchables", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_downloads_api", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "app_infrastructure_sources_registry_sourceregistry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_fetchable", "to": "app_infrastructure_sources_registry_sourceregistry_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_indexable", "to": "app_infrastructure_sources_registry_sourceregistry_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_sourceregistry_searchable", "to": "app_infrastructure_sources_registry_sourceregistry_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_rationale_48", "to": "app_infrastructure_sources_registry_sourceregistry_searchables", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_registry_build_source_registry", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_registry_empty_when_path_unset", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_registry_registers_local_when_path_set", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_registry_omits_youtube_when_disabled", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_registry_registers_youtube_when_enabled", "to": "app_infrastructure_sources_registry_build_source_registry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_sources_youtube_default_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_sources_youtube_default_search", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_sources_youtube_libs_available", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_sources_youtube_watch_url", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_rationale_1", "to": "app_infrastructure_sources_youtube", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_infrastructure_sources_youtube", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_is_available", "to": "app_infrastructure_sources_youtube_libs_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_default_download", "to": "app_infrastructure_sources_youtube_watch_url", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_rationale_59", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_fetch", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_get_metadata", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_info", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_search", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource", "to": "app_infrastructure_sources_youtube_youtubemusicsource_to_result", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_fetch_maps_download_result", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_info_and_availability_with_injected_fn", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_degrades_to_empty_on_error", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_drops_rows_without_video_id", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_empty_query_short_circuits", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_joins_multiple_artists_and_tolerates_missing_fields", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_maps_ytmusic_rows", "to": "app_infrastructure_sources_youtube_youtubemusicsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_init", "to": "app_infrastructure_sources_youtube_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_init", "to": "downloadfn", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_init", "to": "searchfn", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_default_download", "to": "app_infrastructure_sources_youtube_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_fetch", "to": "app_infrastructure_sources_youtube_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_info", "to": "app_infrastructure_sources_youtube_youtubemusicsource_is_available", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_default_search", "to": "app_infrastructure_sources_youtube_youtubemusicsource_search", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_search", "to": "app_infrastructure_sources_youtube_youtubemusicsource_to_result", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_fetch", "to": "app_infrastructure_sources_youtube_py_progresscallback", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_youtubemusicsource_to_result", "to": "app_infrastructure_sources_youtube_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_default_download", "to": "app_infrastructure_sources_youtube_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_default_search", "to": "app_infrastructure_sources_youtube_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_rationale_162", "to": "app_infrastructure_sources_youtube_default_search", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_sources_youtube_rationale_176", "to": "app_infrastructure_sources_youtube_default_download", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_init_rationale_1", "to": "app_infrastructure_storage_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local", "to": "app_infrastructure_storage_local_localfilestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_rationale_1", "to": "app_infrastructure_storage_local", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_infrastructure_storage_local", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "app_infrastructure_storage_local", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_as_local_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_as_local_path_cm", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_disk_usage", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_exists", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_open_range", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage", "to": "app_infrastructure_storage_local_localfilestorage_stat", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_infrastructure_storage_local_localfilestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider_get_file_storage", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "app_infrastructure_storage_local_localfilestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_as_local_path", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_delete_missing_is_noop", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_exists_and_delete", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_open_range_from_offset_to_end", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_open_range_full", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_open_range_partial", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_save_and_stat", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_save_creates_parent_dirs", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_test_stat_unknown_extension", "to": "app_infrastructure_storage_local_localfilestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_init", "to": "app_infrastructure_storage_local_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_as_local_path", "to": "app_infrastructure_storage_local_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_as_local_path_cm", "to": "app_infrastructure_storage_local_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_save_file", "to": "app_infrastructure_storage_local_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_save_file", "to": "app_infrastructure_storage_local_localfilestorage_stat", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_open_range", "to": "app_infrastructure_storage_local_localfilestorage_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_open_range", "to": "app_infrastructure_storage_local_localfilestorage_stat", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_stat", "to": "app_infrastructure_storage_local_localfilestorage_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_disk_usage", "to": "app_infrastructure_storage_local_localfilestorage_exists", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_as_local_path", "to": "app_infrastructure_storage_local_localfilestorage_as_local_path_cm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_local_localfilestorage_as_local_path", "to": "app_infrastructure_storage_local_py_abstractasynccontextmanager", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_infrastructure_storage_s3", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider_rationale_1", "to": "app_infrastructure_storage_provider", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_infrastructure_storage_provider", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_provider_get_file_storage", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "app_infrastructure_storage_provider_get_file_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_infrastructure_storage_s3_is_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_infrastructure_storage_s3_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_rationale_1", "to": "app_infrastructure_storage_s3", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_infrastructure_storage_s3", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_not_found", "to": "app_infrastructure_storage_s3_py_exception", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "to": "app_infrastructure_storage_s3_not_found", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_open_range", "to": "app_infrastructure_storage_s3_not_found", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_infrastructure_storage_s3_not_found", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_is_404", "to": "clienterror", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "to": "app_infrastructure_storage_s3_is_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_exists", "to": "app_infrastructure_storage_s3_is_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_open_range", "to": "app_infrastructure_storage_s3_is_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_infrastructure_storage_s3_is_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_client_error", "to": "clienterror", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_as_local_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_disk_usage", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_exists", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_open_range", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage", "to": "app_infrastructure_storage_s3_s3filestorage_stat", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_fakebody", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_make_storage", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_storage", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_yields_file_with_content", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_delete_calls_delete_object", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_exists_false_on_404", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_exists_true", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_full", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_partial", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_provider_returns_s3_storage_when_configured", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_storage_s3_test_save_file_calls_put_object", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_falls_back_to_ext_content_type", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_returns_size_and_content_type", "to": "app_infrastructure_storage_s3_s3filestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_client", "to": "app_infrastructure_storage_s3_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_delete", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_exists", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_open_range", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_save_file", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_infrastructure_storage_s3_s3filestorage_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_save_file", "to": "app_infrastructure_storage_s3_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path", "to": "app_infrastructure_storage_s3_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "to": "app_infrastructure_storage_s3_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_stat", "to": "app_infrastructure_storage_s3_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path", "to": "app_infrastructure_storage_s3_py_abstractasynccontextmanager", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_infrastructure_storage_s3_s3filestorage_as_local_path", "to": "app_infrastructure_storage_s3_s3filestorage_as_local_path_cm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_main_create_app", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_main_lifespan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main", "to": "app_main_py_fastapi", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_1", "to": "app_main", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_main_lifespan", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main_lifespan", "to": "app_main_py_fastapi", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_create_app", "to": "app_main_py_fastapi", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_client", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "app_main_create_app", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "app_main_create_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_init_rationale_1", "to": "app_workers_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_arq_worker_shutdown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_arq_worker_startup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_arq_worker_workersettings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_download_task", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_download_task_download_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_enrich_task", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_enrich_task_enrich_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_import_task", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_import_task_scan_local_folder", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_materialize_task", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker", "to": "app_workers_tasks_materialize_task_materialize_track", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker_rationale_1", "to": "app_workers_arq_worker", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker_startup", "to": "app_workers_arq_worker_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_arq_worker_shutdown", "to": "app_workers_arq_worker_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_workers_queue_enqueue", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_workers_queue_enqueue_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_workers_queue_enqueue_enrich", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_workers_queue_enqueue_materialize", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue", "to": "app_workers_queue_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_rationale_1", "to": "app_workers_queue", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_queue", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue", "to": "app_workers_queue_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue_download", "to": "app_workers_queue_enqueue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue_enrich", "to": "app_workers_queue_enqueue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue_materialize", "to": "app_workers_queue_enqueue", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_rationale_21", "to": "app_workers_queue_enqueue", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue_download", "to": "app_workers_queue_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_rationale_38", "to": "app_workers_queue_enqueue_download", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "app_workers_queue_enqueue_download", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_queue_enqueue_enrich", "to": "app_workers_queue_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_enqueue_materialize", "to": "app_workers_queue_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_queue_rationale_52", "to": "app_workers_queue_enqueue_materialize", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_service", "to": "app_workers_queue_enqueue_materialize", "label": "indirect_call", "title": "indirect_call [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_workers_queue_rationale_63", "to": "app_workers_queue_enqueue_enrich", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_queue_enqueue_enrich", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_queue_enqueue_enrich", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_workers_queue_enqueue_enrich", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_workers_queue_enqueue_enrich", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_queue_enqueue_enrich", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_queue_enqueue_enrich", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_init_rationale_1", "to": "app_workers_tasks_init", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_download_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_handle_failure", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_import_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_load_job", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_mark_failed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_run_fetch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task", "to": "app_workers_tasks_download_task_set_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_rationale_1", "to": "app_workers_tasks_download_task", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_download_task", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_handle_failure", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_import_result", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_load_job", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_mark_failed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_py_uuid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_run_fetch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_download_track", "to": "app_workers_tasks_download_task_set_status", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_workers_tasks_download_task_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_rationale_87", "to": "app_workers_tasks_download_task_run_fetch", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_run_fetch", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_download_task_run_fetch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_download_task_run_fetch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_import_result", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_load_job", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_mark_failed", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_set_status", "to": "app_workers_tasks_download_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_workers_tasks_download_task_mark_failed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_download_task_handle_failure", "to": "app_workers_tasks_download_task_py_exception", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_download_task_handle_failure", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_download_task_handle_failure", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_download_task_load_job", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_download_task_load_job", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_download_task_mark_failed", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_download_task_mark_failed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task", "to": "app_workers_tasks_enrich_task_enrich_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_rationale_1", "to": "app_workers_tasks_enrich_task", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_enrich_task_enrich_track", "to": "app_workers_tasks_enrich_task_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task", "to": "app_workers_tasks_import_task_scan_local_folder", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_rationale_1", "to": "app_workers_tasks_import_task", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_import_task_scan_local_folder", "to": "app_workers_tasks_import_task_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "app_workers_tasks_import_task_scan_local_folder", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_local_import_creates_streamable_tracks", "to": "app_workers_tasks_import_task_scan_local_folder", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_materialize_task_materialize_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_materialize_task_materialize_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_materialize_task_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task", "to": "app_workers_tasks_materialize_task_set_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_rationale_1", "to": "app_workers_tasks_materialize_task", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_materialize_task_materialize_result", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_materialize_task_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_materialize_task_py_uuid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_track", "to": "app_workers_tasks_materialize_task_set_status", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_materialize_result", "to": "app_workers_tasks_materialize_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_rationale_77", "to": "app_workers_tasks_materialize_task_materialize_result", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_workers_tasks_materialize_task_set_status", "to": "app_workers_tasks_materialize_task_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "tests_conftest_base_database_url", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "tests_conftest_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "tests_conftest_create_test_db_if_missing", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "tests_conftest_ensure_test_database", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest", "to": "tests_conftest_with_database", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_1", "to": "tests_conftest", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_39", "to": "tests_conftest_base_database_url", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_create_test_db_if_missing", "to": "tests_conftest_with_database", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_53", "to": "tests_conftest_with_database", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_ensure_test_database", "to": "tests_conftest_create_test_db_if_missing", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_68", "to": "tests_conftest_create_test_db_if_missing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_93", "to": "tests_conftest_ensure_test_database", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_client", "to": "tests_conftest_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_inmemoryrefreshtokenrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_inmemoryuserrepository", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_py_datetime", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_stored", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes", "to": "tests_fakes_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_rationale_1", "to": "tests_fakes", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_fakes", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_fakes", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_fakes", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_add", "to": "tests_fakes_stored", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_count", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_get_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_get_subsonic_credentials_by_username", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_get_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_list", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_set_active", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_set_password_hash", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_set_subsonic_password_enc", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository", "to": "tests_fakes_inmemoryuserrepository_set_superuser", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_fakes_inmemoryuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "tests_fakes_inmemoryuserrepository", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_fakes_inmemoryuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_service_with_user", "to": "tests_fakes_inmemoryuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_reveal_generates_then_is_stable", "to": "tests_fakes_inmemoryuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_rotate_then_authenticate", "to": "tests_fakes_inmemoryuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_fakes_inmemoryuserrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "tests_fakes_inmemoryuserrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_get_by_id", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_add", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_is_valid", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_revoke", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_revoke_all_for_user", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_get_subsonic_password_enc", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_active", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_password_hash", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_subsonic_password_enc", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryuserrepository_set_superuser", "to": "tests_fakes_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_add", "to": "tests_fakes_token", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository", "to": "tests_fakes_inmemoryrefreshtokenrepository_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository", "to": "tests_fakes_inmemoryrefreshtokenrepository_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository", "to": "tests_fakes_inmemoryrefreshtokenrepository_is_valid", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository", "to": "tests_fakes_inmemoryrefreshtokenrepository_revoke", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository", "to": "tests_fakes_inmemoryrefreshtokenrepository_revoke_all_for_user", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_fakes_inmemoryrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_env", "to": "tests_fakes_inmemoryrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_fakes_inmemoryrefreshtokenrepository", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_env", "to": "tests_fakes_inmemoryrefreshtokenrepository", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fakes_inmemoryrefreshtokenrepository_add", "to": "tests_fakes_py_datetime", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_payload_with_results", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_empty_results_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_error_status_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_non_dict_payload_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_parses_full_recording", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_picks_highest_score", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse", "to": "tests_test_acoustid_parse_test_result_without_recordings_still_returns_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_rationale_1", "to": "tests_test_acoustid_parse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_empty_results_returns_none", "to": "tests_test_acoustid_parse_payload_with_results", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_parses_full_recording", "to": "tests_test_acoustid_parse_payload_with_results", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_picks_highest_score", "to": "tests_test_acoustid_parse_payload_with_results", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_acoustid_parse_test_result_without_recordings_still_returns_id", "to": "tests_test_acoustid_parse_payload_with_results", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_admin_create_duplicate_conflicts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_admin_creates_user_and_nonadmin_forbidden", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_deactivated_user_cannot_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_login_and_me", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_login_bad_credentials", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_logout_revokes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_me_requires_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_refresh_rotation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_register_creates_user_and_logs_in", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_register_disabled_forbidden", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_register_duplicate_conflicts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api", "to": "tests_test_auth_api_test_register_short_password_rejected", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_rationale_1", "to": "tests_test_auth_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "tests_test_auth_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_api", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_login", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_admin_create_duplicate_conflicts", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_admin_creates_user_and_nonadmin_forbidden", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_deactivated_user_cannot_login", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_login_and_me", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_login_bad_credentials", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_logout_revokes", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_me_requires_token", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_refresh_rotation", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_register_creates_user_and_logs_in", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_register_disabled_forbidden", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_register_duplicate_conflicts", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_register_short_password_rejected", "to": "tests_test_auth_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_admin_create_duplicate_conflicts", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_admin_creates_user_and_nonadmin_forbidden", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_deactivated_user_cannot_login", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_login_and_me", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_logout_revokes", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_api_test_refresh_rotation", "to": "tests_test_auth_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_env", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_access_token_not_accepted_as_refresh", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_login_inactive_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_login_success_then_authenticate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_login_unknown_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_login_wrong_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_logout_ignores_garbage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_logout_revokes_refresh", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service", "to": "tests_test_auth_service_test_refresh_rotates_and_invalidates_old", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_service_rationale_1", "to": "tests_test_auth_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_seed_album_with_cover", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_test_album_appears_with_has_cover_flag", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_test_album_cover_served", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_test_album_without_cover_is_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_test_cover_requires_auth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api", "to": "tests_test_cover_api_test_track_cover_served_from_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_rationale_1", "to": "tests_test_cover_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "tests_test_cover_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_rationale_56", "to": "tests_test_cover_api_seed_album_with_cover", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "tests_test_cover_api_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_seed_album_with_cover", "to": "tests_test_cover_api_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_appears_with_has_cover_flag", "to": "tests_test_cover_api_seed_album_with_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_cover_served", "to": "tests_test_cover_api_seed_album_with_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_without_cover_is_404", "to": "tests_test_cover_api_seed_album_with_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_cover_requires_auth", "to": "tests_test_cover_api_seed_album_with_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_track_cover_served_from_album", "to": "tests_test_cover_api_seed_album_with_cover", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_api", "to": "tests_test_cover_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_login", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_appears_with_has_cover_flag", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_cover_served", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_without_cover_is_404", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_cover_requires_auth", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_track_cover_served_from_album", "to": "tests_test_cover_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_appears_with_has_cover_flag", "to": "tests_test_cover_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_cover_served", "to": "tests_test_cover_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_album_without_cover_is_404", "to": "tests_test_cover_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cover_api_test_track_cover_served_from_album", "to": "tests_test_cover_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_fakeartistrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_fakejobrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_fakestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_faketrackrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_test_request_dedups_against_library", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_test_request_returns_existing_active_job", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service", "to": "tests_test_download_service_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_rationale_1", "to": "tests_test_download_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakeartistrepo", "to": "tests_test_download_service_fakeartistrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "tests_test_download_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_faketrackrepo", "to": "tests_test_download_service_faketrackrepo_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_faketrackrepo", "to": "tests_test_download_service_faketrackrepo_get_by_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_faketrackrepo", "to": "tests_test_download_service_faketrackrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "tests_test_download_service_faketrackrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "to": "tests_test_download_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_dedups_against_library", "to": "tests_test_download_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_returns_existing_active_job", "to": "tests_test_download_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "tests_test_download_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakestorage", "to": "tests_test_download_service_fakestorage_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakestorage", "to": "tests_test_download_service_fakestorage_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakestorage", "to": "tests_test_download_service_fakestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "tests_test_download_service_fakestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "to": "tests_test_download_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_dedups_against_library", "to": "tests_test_download_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_returns_existing_active_job", "to": "tests_test_download_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "tests_test_download_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakestorage_save_file", "to": "tests_test_download_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "tests_test_download_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_get_active_for_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_make", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo", "to": "tests_test_download_service_fakejobrepo_set_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "tests_test_download_service_fakejobrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "to": "tests_test_download_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_dedups_against_library", "to": "tests_test_download_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_returns_existing_active_job", "to": "tests_test_download_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "tests_test_download_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_add", "to": "tests_test_download_service_fakejobrepo_make", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_returns_existing_active_job", "to": "tests_test_download_service_fakejobrepo_add", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_get_by_id", "to": "tests_test_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_delete", "to": "tests_test_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_fakejobrepo_set_status", "to": "tests_test_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_service", "to": "tests_test_download_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_creates_and_enqueues_new_job", "to": "tests_test_download_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_dedups_against_library", "to": "tests_test_download_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_returns_existing_active_job", "to": "tests_test_download_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_store_result_imports_and_cleans_temp", "to": "tests_test_download_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_download_service_test_request_dedups_against_library", "to": "tests_test_download_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_fakefetchsource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_cancel_download", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_download_create_list_and_complete", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_materialize_flow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_save_remote_is_idempotent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_search_aggregates_fetch_sources", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_search_reports_library_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api", "to": "tests_test_downloads_api_test_source_scoped_search", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_rationale_1", "to": "tests_test_downloads_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "tests_test_downloads_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "tests_test_downloads_api_fakefetchsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_fetch", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_get_metadata", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_info", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource", "to": "tests_test_downloads_api_fakefetchsource_search", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_rationale_48", "to": "tests_test_downloads_api_fakefetchsource", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "tests_test_downloads_api_fakefetchsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "tests_test_downloads_api_fakefetchsource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource_init", "to": "tests_test_downloads_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "tests_test_downloads_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "tests_test_downloads_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "tests_test_downloads_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_fakefetchsource_fetch", "to": "tests_test_downloads_api_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_api", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_login", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_cancel_download", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_save_remote_is_idempotent", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_search_aggregates_fetch_sources", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_search_reports_library_status", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_source_scoped_search", "to": "tests_test_downloads_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_cancel_download", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_save_remote_is_idempotent", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_search_aggregates_fetch_sources", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_search_reports_library_status", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_source_scoped_search", "to": "tests_test_downloads_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_rationale_168", "to": "tests_test_downloads_api_test_search_reports_library_status", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_rationale_217", "to": "tests_test_downloads_api_test_materialize_flow", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_materialize_flow", "to": "monkeypatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_downloads_api_test_download_create_list_and_complete", "to": "monkeypatch", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health", "to": "tests_test_health_test_correlation_id_echoed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health", "to": "tests_test_health_test_liveness_ok", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health", "to": "tests_test_health_test_readiness_reports_checks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health_rationale_1", "to": "tests_test_health", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health_test_liveness_ok", "to": "tests_test_health_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health_test_correlation_id_echoed", "to": "tests_test_health_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health_test_readiness_reports_checks", "to": "tests_test_health_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_fakeartistrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_fakesource", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_fakestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_faketrackrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_test_dedup_skips_already_imported", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_test_imports_new_files", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service", "to": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_rationale_1", "to": "tests_test_import_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo", "to": "tests_test_import_service_fakeartistrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakeartistrepo", "to": "tests_test_import_service_fakeartistrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_service", "to": "tests_test_import_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "tests_test_import_service_faketrackrepo_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "tests_test_import_service_faketrackrepo_get_by_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_faketrackrepo", "to": "tests_test_import_service_faketrackrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_service", "to": "tests_test_import_service_faketrackrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "tests_test_import_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_imports_new_files", "to": "tests_test_import_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "to": "tests_test_import_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage", "to": "tests_test_import_service_fakestorage_delete", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage", "to": "tests_test_import_service_fakestorage_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage", "to": "tests_test_import_service_fakestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_service", "to": "tests_test_import_service_fakestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "tests_test_import_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_imports_new_files", "to": "tests_test_import_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "to": "tests_test_import_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakestorage_save_file", "to": "tests_test_import_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_file", "to": "tests_test_import_service_py_path", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakesource", "to": "tests_test_import_service_fakesource_info", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakesource", "to": "tests_test_import_service_fakesource_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakesource", "to": "tests_test_import_service_fakesource_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_fakesource", "to": "tests_test_import_service_fakesource_scan", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "tests_test_import_service_fakesource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_imports_new_files", "to": "tests_test_import_service_fakesource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "to": "tests_test_import_service_fakesource", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "tests_test_import_service_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_imports_new_files", "to": "tests_test_import_service_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "to": "tests_test_import_service_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_dedup_skips_already_imported", "to": "tests_test_import_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_imports_new_files", "to": "tests_test_import_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_service_test_per_file_failure_is_isolated_and_rolls_back_storage", "to": "tests_test_import_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_test_album_get_or_create_remote_dedups_by_remote_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_binds_existing_local_artist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_test_artist_get_or_create_remote_dedups_by_remote_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos", "to": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_rationale_1", "to": "tests_test_lazy_materialization_repos", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_db", "to": "tests_test_lazy_materialization_repos_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lazy_materialization_repos_rationale_60", "to": "tests_test_lazy_materialization_repos_test_placeholder_track_materializes_in_place", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_info_reports_kind_and_availability", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_is_available_false_when_missing", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_registry_empty_when_path_unset", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_registry_registers_local_when_path_set", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_scan_discovers_audio_recursively", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source", "to": "tests_test_local_folder_source_test_source_id_is_stable_relative_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_rationale_1", "to": "tests_test_local_folder_source", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_registry_empty_when_path_unset", "to": "tests_test_local_folder_source_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_registry_registers_local_when_path_set", "to": "tests_test_local_folder_source_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_scan_discovers_audio_recursively", "to": "tests_test_local_folder_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_info_reports_kind_and_availability", "to": "tests_test_local_folder_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_is_available_false_when_missing", "to": "tests_test_local_folder_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_registry_registers_local_when_path_set", "to": "tests_test_local_folder_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_local_folder_source_test_source_id_is_stable_relative_path", "to": "tests_test_local_folder_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_apply_metadata_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_apply_metadata_partial_update", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_apply_metadata_updates_fields_and_sets_manual", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_metadata_matches_degrades_without_acoustid", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_metadata_matches_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_test_track_out_includes_genre_year_track_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api", "to": "tests_test_metadata_api_upload", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_rationale_1", "to": "tests_test_metadata_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "tests_test_metadata_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_api", "to": "tests_test_metadata_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_login", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_not_found", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_partial_update", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_updates_fields_and_sets_manual", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_metadata_matches_degrades_without_acoustid", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_metadata_matches_not_found", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_track_out_includes_genre_year_track_number", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_upload", "to": "tests_test_metadata_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_not_found", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_partial_update", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_updates_fields_and_sets_manual", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_metadata_matches_degrades_without_acoustid", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_metadata_matches_not_found", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_track_out_includes_genre_year_track_number", "to": "tests_test_metadata_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_partial_update", "to": "tests_test_metadata_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_apply_metadata_updates_fields_and_sets_manual", "to": "tests_test_metadata_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_metadata_matches_degrades_without_acoustid", "to": "tests_test_metadata_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_api_test_track_out_includes_genre_year_track_number", "to": "tests_test_metadata_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_cover_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakeacoustid", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakealbumrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakeartistrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakecoverextractor", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakecoverprovider", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakefingerprinter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_fakestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_faketagreader", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_faketrackrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_cover_falls_back_to_archive", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_cover_skipped_when_no_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_failed_reason_names_unavailable_fingerprinter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_manual_track_is_never_touched", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_missing_track_is_a_clean_noop", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_nothing_found_marks_failed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_successful_enrich_clears_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_tags_only_enriches_and_relinks_artist_and_album", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service", "to": "tests_test_metadata_service_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_rationale_1", "to": "tests_test_metadata_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo_apply_enrichment", "to": "tests_test_metadata_service_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo_get_by_id", "to": "tests_test_metadata_service_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo_init", "to": "tests_test_metadata_service_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_track", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_skipped_when_no_album", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_failed_reason_names_unavailable_fingerprinter", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_manual_track_is_never_touched", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_nothing_found_marks_failed", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_successful_enrich_clears_error", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_only_enriches_and_relinks_artist_and_album", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "to": "tests_test_metadata_service_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "tests_test_metadata_service_faketrackrepo_apply_enrichment", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "tests_test_metadata_service_faketrackrepo_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo", "to": "tests_test_metadata_service_faketrackrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_faketrackrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo_get_by_id", "to": "tests_test_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo_get_or_create", "to": "tests_test_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo_set_cover_path", "to": "tests_test_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketrackrepo_apply_enrichment", "to": "tests_test_metadata_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "tests_test_metadata_service_fakeartistrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeartistrepo", "to": "tests_test_metadata_service_fakeartistrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_fakeartistrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakealbumrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "tests_test_metadata_service_fakealbumrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "tests_test_metadata_service_fakealbumrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakealbumrepo", "to": "tests_test_metadata_service_fakealbumrepo_set_cover_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_fakealbumrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakestorage", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "tests_test_metadata_service_fakestorage_as_local_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "tests_test_metadata_service_fakestorage_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage", "to": "tests_test_metadata_service_fakestorage_save_file", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_fakestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage_as_local_path", "to": "tests_test_metadata_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverextractor_extract", "to": "tests_test_metadata_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter_calculate", "to": "tests_test_metadata_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakestorage_save_file", "to": "tests_test_metadata_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketagreader_read", "to": "tests_test_metadata_service_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakecoverextractor", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "tests_test_metadata_service_fakecoverextractor_extract", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverextractor", "to": "tests_test_metadata_service_fakecoverextractor_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "to": "tests_test_metadata_service_fakecoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "tests_test_metadata_service_fakecoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "to": "tests_test_metadata_service_fakecoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_skipped_when_no_album", "to": "tests_test_metadata_service_fakecoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "to": "tests_test_metadata_service_fakecoverextractor", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakecoverprovider", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "tests_test_metadata_service_fakecoverprovider_fetch_release_group", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "tests_test_metadata_service_fakecoverprovider_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakecoverprovider", "to": "tests_test_metadata_service_fakecoverprovider_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "to": "tests_test_metadata_service_fakecoverprovider", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "tests_test_metadata_service_fakecoverprovider", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "to": "tests_test_metadata_service_fakecoverprovider", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_faketagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "tests_test_metadata_service_faketagreader_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_faketagreader", "to": "tests_test_metadata_service_faketagreader_read", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_faketagreader", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakefingerprinter", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "tests_test_metadata_service_fakefingerprinter_calculate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "tests_test_metadata_service_fakefingerprinter_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakefingerprinter", "to": "tests_test_metadata_service_fakefingerprinter_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_fakefingerprinter", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_cover_service", "to": "tests_test_metadata_service_fakeacoustid", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "tests_test_metadata_service_fakeacoustid_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "tests_test_metadata_service_fakeacoustid_is_available", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "tests_test_metadata_service_fakeacoustid_lookup", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_fakeacoustid", "to": "tests_test_metadata_service_fakeacoustid_lookup_all", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_service", "to": "tests_test_metadata_service_fakeacoustid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_acoustid_path_fills_when_tags_absent", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_failed_reason_names_unavailable_fingerprinter", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_fingerprint_skipped_when_acoustid_unavailable", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_high_confidence_acoustid_wins_over_junk_tags", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_manual_track_is_never_touched", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_missing_track_is_a_clean_noop", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_nothing_found_marks_failed", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_successful_enrich_clears_error", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_only_enriches_and_relinks_artist_and_album", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_tags_win_over_low_confidence_acoustid", "to": "tests_test_metadata_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_extracted_from_embedded_art", "to": "tests_test_metadata_service_cover_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_falls_back_to_archive", "to": "tests_test_metadata_service_cover_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_not_fetched_without_release_group", "to": "tests_test_metadata_service_cover_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_cover_skipped_when_no_album", "to": "tests_test_metadata_service_cover_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_metadata_service_test_existing_cover_is_not_overwritten", "to": "tests_test_metadata_service_cover_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_create_playlist", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_add_track_idempotent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_playlist_lifecycle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_remove_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_reorder_happy_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_test_unknown_playlist_returns_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api", "to": "tests_test_playlists_api_upload", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_rationale_1", "to": "tests_test_playlists_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "tests_test_playlists_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_api", "to": "tests_test_playlists_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_create_playlist", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_login", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_add_track_idempotent", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_playlist_lifecycle", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_remove_track", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_happy_path", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_unknown_playlist_returns_404", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_upload", "to": "tests_test_playlists_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_add_track_idempotent", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_playlist_lifecycle", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_remove_track", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_happy_path", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_unknown_playlist_returns_404", "to": "tests_test_playlists_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_add_track_idempotent", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_remove_track", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_happy_path", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_unknown_playlist_returns_404", "to": "tests_test_playlists_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_create_playlist", "to": "tests_test_playlists_api_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_add_track_idempotent", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_playlist_lifecycle", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_remove_track", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_bad_id_set_returns_422", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_by_non_owner_returns_403", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_playlists_api_test_reorder_happy_path", "to": "tests_test_playlists_api_create_playlist", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_acoustid_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_fakealbumrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_fakeartistrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_faketrackrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_fixturestorage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_pending_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_test_real_file_embedded_tags_are_read", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment", "to": "tests_test_real_file_enrichment_test_real_file_identified_by_acoustid", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_rationale_1", "to": "tests_test_real_file_enrichment", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_acoustid_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_identified_by_acoustid", "to": "tests_test_real_file_enrichment_acoustid_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_rationale_60", "to": "tests_test_real_file_enrichment_test_real_file_embedded_tags_are_read", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_rationale_80", "to": "tests_test_real_file_enrichment_test_real_file_identified_by_acoustid", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_rationale_98", "to": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_fakealbumrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_fixturestorage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_test_real_file_enrichment_overrides_junk_tags", "to": "tests_test_real_file_enrichment_pending_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fixturestorage", "to": "tests_test_real_file_enrichment_fixturestorage_as_local_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fixturestorage_as_local_path", "to": "tests_test_real_file_enrichment_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "tests_test_real_file_enrichment_faketrackrepo_apply_enrichment", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "tests_test_real_file_enrichment_faketrackrepo_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo", "to": "tests_test_real_file_enrichment_faketrackrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo_get_by_id", "to": "tests_test_real_file_enrichment_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo_get_or_create", "to": "tests_test_real_file_enrichment_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo_set_cover_path", "to": "tests_test_real_file_enrichment_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_faketrackrepo_apply_enrichment", "to": "tests_test_real_file_enrichment_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakeartistrepo", "to": "tests_test_real_file_enrichment_fakeartistrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "tests_test_real_file_enrichment_fakealbumrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_real_file_enrichment_fakealbumrepo", "to": "tests_test_real_file_enrichment_fakealbumrepo_set_cover_path", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_fakejobrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_faketrackrepo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_local_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_py_uuid", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_service", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_materialize_missing_track_raises", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_materialize_reuses_active_job", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_save_remote_is_idempotent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service", "to": "tests_test_remote_library_service_test_save_remote_requires_source_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_rationale_1", "to": "tests_test_remote_library_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo", "to": "tests_test_remote_library_service_fakeartistrepo_get_or_create", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakeartistrepo", "to": "tests_test_remote_library_service_fakeartistrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_service", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_missing_track_raises", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_reuses_active_job", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_is_idempotent", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_requires_source_id", "to": "tests_test_remote_library_service_fakeartistrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "tests_test_remote_library_service_faketrackrepo_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "tests_test_remote_library_service_faketrackrepo_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "tests_test_remote_library_service_faketrackrepo_get_by_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo", "to": "tests_test_remote_library_service_faketrackrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_service", "to": "tests_test_remote_library_service_faketrackrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_missing_track_raises", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_reuses_active_job", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_is_idempotent", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_requires_source_id", "to": "tests_test_remote_library_service_faketrackrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_faketrackrepo_get_by_id", "to": "tests_test_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_get_by_id", "to": "tests_test_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo_set_status", "to": "tests_test_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_service", "to": "tests_test_remote_library_service_py_uuid", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "to": "tests_test_remote_library_service_local_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "tests_test_remote_library_service_fakejobrepo_add", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "tests_test_remote_library_service_fakejobrepo_get_active_for_source", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "tests_test_remote_library_service_fakejobrepo_get_by_id", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "tests_test_remote_library_service_fakejobrepo_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_fakejobrepo", "to": "tests_test_remote_library_service_fakejobrepo_set_status", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_service", "to": "tests_test_remote_library_service_fakejobrepo", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_missing_track_raises", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_reuses_active_job", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_is_idempotent", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_requires_source_id", "to": "tests_test_remote_library_service_fakejobrepo", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_reuses_active_job", "to": "tests_test_remote_library_service_fakejobrepo_add", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_already_local_is_noop", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_missing_track_raises", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_remote_creates_and_enqueues_job", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_materialize_reuses_active_job", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_creates_placeholder", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_is_idempotent", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_remote_library_service_test_save_remote_requires_source_id", "to": "tests_test_remote_library_service_service", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_test_jwt_issue_and_decode_roundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_test_jwt_rejects_expired_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_test_jwt_rejects_tampered_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_test_jwt_rejects_wrong_secret", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security", "to": "tests_test_security_test_password_hash_roundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_rationale_1", "to": "tests_test_security", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_issue_and_decode_roundtrip", "to": "tests_test_security_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_expired_token", "to": "tests_test_security_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_tampered_token", "to": "tests_test_security_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_security_test_jwt_rejects_wrong_secret", "to": "tests_test_security_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_test_list_sources_includes_local", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_test_local_import_creates_streamable_tracks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api", "to": "tests_test_sources_api_test_scan_requires_admin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_rationale_1", "to": "tests_test_sources_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "tests_test_sources_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "tests_test_sources_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_api", "to": "tests_test_sources_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_login", "to": "tests_test_sources_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_list_sources_includes_local", "to": "tests_test_sources_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_local_import_creates_streamable_tracks", "to": "tests_test_sources_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_scan_requires_admin", "to": "tests_test_sources_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_list_sources_includes_local", "to": "tests_test_sources_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sources_api_test_local_import_creates_streamable_tracks", "to": "tests_test_sources_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_as_local_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_delete_missing_is_noop", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_exists_and_delete", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_open_range_from_offset_to_end", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_open_range_full", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_open_range_partial", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_save_and_stat", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_save_creates_parent_dirs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local", "to": "tests_test_storage_local_test_stat_unknown_extension", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_local_rationale_1", "to": "tests_test_storage_local", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_client_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_fakebody", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_make_client_ctx", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_make_storage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_storage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_as_local_path_yields_file_with_content", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_delete_calls_delete_object", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_exists_false_on_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_exists_true", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_open_range_full", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_open_range_partial", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_provider_raises_when_s3_bucket_missing", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_provider_returns_s3_storage_when_configured", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_save_file_calls_put_object", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_stat_falls_back_to_ext_content_type", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3", "to": "tests_test_storage_s3_test_stat_returns_size_and_content_type", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_rationale_1", "to": "tests_test_storage_s3", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_make_storage", "to": "tests_test_storage_s3_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_storage", "to": "tests_test_storage_s3_make_storage", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_make_client_ctx", "to": "tests_test_storage_s3_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_client_error", "to": "tests_test_storage_s3_py_exception", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "to": "tests_test_storage_s3_client_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_exists_false_on_404", "to": "tests_test_storage_s3_client_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "to": "tests_test_storage_s3_client_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "to": "tests_test_storage_s3_client_error", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_fakebody", "to": "tests_test_storage_s3_fakebody_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_fakebody", "to": "tests_test_storage_s3_fakebody_read", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_rationale_26", "to": "tests_test_storage_s3_fakebody", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_yields_file_with_content", "to": "tests_test_storage_s3_fakebody", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_full", "to": "tests_test_storage_s3_fakebody", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_partial", "to": "tests_test_storage_s3_fakebody", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_cleans_up_on_error", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_as_local_path_yields_file_with_content", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_delete_calls_delete_object", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_exists_false_on_404", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_exists_true", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_full", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_not_found_raises_storage_error", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_open_range_partial", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_save_file_calls_put_object", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_falls_back_to_ext_content_type", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_not_found_raises_storage_error", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_stat_returns_size_and_content_type", "to": "tests_test_storage_s3_make_client_ctx", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_save_file_calls_put_object", "to": "tests_test_storage_s3_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_s3_test_provider_returns_s3_storage_when_configured", "to": "tests_test_storage_s3_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_test_storage_stats_counts_uploads", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_test_storage_stats_empty_library", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_test_storage_stats_requires_auth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api", "to": "tests_test_storage_stats_api_upload", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_rationale_1", "to": "tests_test_storage_stats_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "tests_test_storage_stats_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_api", "to": "tests_test_storage_stats_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_login", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_counts_uploads", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_empty_library", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_requires_auth", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_upload", "to": "tests_test_storage_stats_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_counts_uploads", "to": "tests_test_storage_stats_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_empty_library", "to": "tests_test_storage_stats_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_storage_stats_api_test_storage_stats_counts_uploads", "to": "tests_test_storage_stats_api_upload", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_auth_params", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_seed_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_setup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_subsonic_password", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_get_album_list2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_get_artists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_get_cover_art_placeholder", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_get_song", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_ping_bad_credentials_returns_code_40", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_ping_ok", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_ping_xml_default", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_playlist_lifecycle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_search3_finds_song", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_star_and_scrobble", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api", "to": "tests_test_subsonic_api_test_stream_returns_audio", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_rationale_1", "to": "tests_test_subsonic_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "tests_test_subsonic_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_api", "to": "tests_test_subsonic_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_login", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_seed_track", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_setup", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_subsonic_password", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_album_list2", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_artists", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_cover_art_placeholder", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_song", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_bad_credentials_returns_code_40", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_ok", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_xml_default", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_playlist_lifecycle", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_search3_finds_song", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_star_and_scrobble", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_stream_returns_audio", "to": "tests_test_subsonic_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_setup", "to": "tests_test_subsonic_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_star_and_scrobble", "to": "tests_test_subsonic_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_setup", "to": "tests_test_subsonic_api_subsonic_password", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_setup", "to": "tests_test_subsonic_api_seed_track", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_setup", "to": "tests_test_subsonic_api_auth_params", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_album_list2", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_artists", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_cover_art_placeholder", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_get_song", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_bad_credentials_returns_code_40", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_ok", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_ping_xml_default", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_playlist_lifecycle", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_search3_finds_song", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_star_and_scrobble", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_api_test_stream_returns_audio", "to": "tests_test_subsonic_api_setup", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_md5", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_service_with_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_enc_password_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_inactive_user_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_missing_credentials_is_validation_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_missing_username_is_validation_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_no_password_set_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_plain_password_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_token_salt_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_unknown_user_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_wrong_password_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_authenticate_wrong_token_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_reveal_generates_then_is_stable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth", "to": "tests_test_subsonic_auth_test_rotate_then_authenticate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_rationale_1", "to": "tests_test_subsonic_auth", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_token_salt_success", "to": "tests_test_subsonic_auth_md5", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_wrong_token_fails", "to": "tests_test_subsonic_auth_md5", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_enc_password_success", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_inactive_user_fails", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_missing_credentials_is_validation_error", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_missing_username_is_validation_error", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_no_password_set_fails", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_plain_password_success", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_token_salt_success", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_unknown_user_fails", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_wrong_password_fails", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_auth_test_authenticate_wrong_token_fails", "to": "tests_test_subsonic_auth_service_with_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_local", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_default_format_is_xml", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_error_json_shape", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_error_xml_shape", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_list_renders_repeated_elements", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_ok_json_shape", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_test_ok_xml_shape", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope", "to": "tests_test_subsonic_envelope_xml_root", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_rationale_1", "to": "tests_test_subsonic_envelope", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_default_format_is_xml", "to": "tests_test_subsonic_envelope_xml_root", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_error_xml_shape", "to": "tests_test_subsonic_envelope_xml_root", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_list_renders_repeated_elements", "to": "tests_test_subsonic_envelope_xml_root", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_ok_xml_shape", "to": "tests_test_subsonic_envelope_xml_root", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_xml_root", "to": "tests_test_subsonic_envelope_py_element", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_error_xml_shape", "to": "tests_test_subsonic_envelope_local", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_envelope_test_ok_xml_shape", "to": "tests_test_subsonic_envelope_local", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_cipher_roundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_cipher_token_then_md5_matches", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_cipher_wrong_key_fails", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_generate_subsonic_password_is_long_and_unique", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_id_encode_decode_roundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_id_malformed_rejected", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_id_parse_returns_kind", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security", "to": "tests_test_subsonic_security_test_id_wrong_prefix_rejected", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_rationale_1", "to": "tests_test_subsonic_security", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_subsonic_security_rationale_29", "to": "tests_test_subsonic_security_test_cipher_token_then_md5_matches", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "tests_test_tag_reader_test_first_takes_head_of_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "tests_test_tag_reader_test_parse_track_number_handles_slash_form", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader", "to": "tests_test_tag_reader_test_parse_year_extracts_four_digits", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_tag_reader_rationale_1", "to": "tests_test_tag_reader", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_api", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_db_reachable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_list_tracks_filters_by_source", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_stream_full", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_stream_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_stream_range", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_stream_requires_auth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_upload_creates_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_upload_dedup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api", "to": "tests_test_upload_stream_api_test_upload_requires_auth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_rationale_1", "to": "tests_test_upload_stream_api", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "tests_test_upload_stream_api_db_reachable", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_api", "to": "tests_test_upload_stream_api_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_login", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_list_tracks_filters_by_source", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_full", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_not_found", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_range", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_requires_auth", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_upload_creates_track", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_upload_dedup", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_upload_requires_auth", "to": "tests_test_upload_stream_api_py_asyncclient", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_list_tracks_filters_by_source", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_full", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_not_found", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_stream_range", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_upload_creates_track", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_upload_stream_api_test_upload_dedup", "to": "tests_test_upload_stream_api_login", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_env", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_change_password_requires_current", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_change_password_revokes_sessions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_create_user_duplicate_username", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_deactivate_revokes_sessions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_get_unknown_user_raises", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service", "to": "tests_test_user_service_test_reset_password_revokes_sessions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_user_service_rationale_1", "to": "tests_test_user_service", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_song_row", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_fetch_maps_download_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_info_and_availability_with_injected_fn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_registry_omits_youtube_when_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_registry_registers_youtube_when_enabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_search_degrades_to_empty_on_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_search_drops_rows_without_video_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_search_empty_query_short_circuits", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_search_joins_multiple_artists_and_tolerates_missing_fields", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source", "to": "tests_test_youtube_source_test_search_maps_ytmusic_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_rationale_1", "to": "tests_test_youtube_source", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_song_row", "to": "tests_test_youtube_source_py_any", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_drops_rows_without_video_id", "to": "tests_test_youtube_source_song_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_joins_multiple_artists_and_tolerates_missing_fields", "to": "tests_test_youtube_source_song_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_search_maps_ytmusic_rows", "to": "tests_test_youtube_source_song_row", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_registry_omits_youtube_when_disabled", "to": "tests_test_youtube_source_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_registry_registers_youtube_when_enabled", "to": "tests_test_youtube_source_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_youtube_source_test_fetch_maps_download_result", "to": "tests_test_youtube_source_py_path", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude", "to": "claude_claude_md", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_architecture_hexagonal_ports_adapters", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_commands", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_graphify", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_non_negotiable_domain_invariants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_python_3_14_note", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_claude_md", "to": "claude_what_this_is", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "claude_architecture_hexagonal_ports_adapters", "to": "claude_cross_cutting_conventions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme", "to": "readme_mcma_backend", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_architecture_hexagonal_ports_adapters", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_build_docker", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_configuration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_database_migrations_alembic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_local_dev_without_docker", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_sources_importing_music", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_subsonic_api_rest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_mcma_backend", "to": "readme_tooling", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "readme_subsonic_api_rest", "to": "readme_app_passwords", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fixtures_readme", "to": "tests_fixtures_readme_test_fixtures", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_fixtures_readme_test_fixtures", "to": "tests_fixtures_readme_scarlet_fire_otis_mcdonald_mp3", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_build", "to": "docker_buildx", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_build", "to": "dockerfiles_dockerfile_prod", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_build", "to": "gitea_workflows_docker_publish_push", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_push", "to": "gitea_container_registry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_push", "to": "gitea_workflows_docker_publish_cleanup", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_cleanup", "to": "gitea_container_registry", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "gitea_workflows_docker_publish_cleanup", "to": "gitea_workflows_docker_publish_keep_versions", "label": "references", "title": "references [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}];
const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Storage Backend &amp; Disk Usage", "count": 82}, {"cid": 1, "color": "#F28E2B", "label": "Auth Schemas &amp; Tokens", "count": 66}, {"cid": 2, "color": "#E15759", "label": "Error Mapping &amp; Search Schemas", "count": 49}, {"cid": 3, "color": "#76B7B2", "label": "Download Service Orchestration", "count": 45}, {"cid": 4, "color": "#59A14F", "label": "Playlist Schemas &amp; API", "count": 30}, {"cid": 5, "color": "#EDC948", "label": "Album Repository", "count": 53}, {"cid": 6, "color": "#B07AA1", "label": "ORM Base &amp; Models", "count": 44}, {"cid": 7, "color": "#FF9DA7", "label": "Correlation ID Middleware &amp; Config", "count": 22}, {"cid": 8, "color": "#9C755F", "label": "Auth Services (native + Subsonic)", "count": 67}, {"cid": 9, "color": "#BAB0AC", "label": "Audio Tags &amp; Metadata Test Fakes", "count": 39}, {"cid": 10, "color": "#4E79A7", "label": "YouTube Source Backend", "count": 42}, {"cid": 11, "color": "#F28E2B", "label": "Dependency Wiring (deps.py)", "count": 30}, {"cid": 12, "color": "#E15759", "label": "Library Stats &amp; Track Availability", "count": 35}, {"cid": 13, "color": "#76B7B2", "label": "Library Import Service", "count": 37}, {"cid": 14, "color": "#59A14F", "label": "Subsonic Response Envelope", "count": 33}, {"cid": 15, "color": "#EDC948", "label": "Chromaprint Fingerprinting", "count": 39}, {"cid": 16, "color": "#B07AA1", "label": "Album/Search Response Schemas", "count": 40}, {"cid": 17, "color": "#FF9DA7", "label": "Pagination &amp; Likes Endpoints", "count": 41}, {"cid": 18, "color": "#9C755F", "label": "Metadata Enrichment Service", "count": 30}, {"cid": 19, "color": "#BAB0AC", "label": "Subsonic ID Encoding", "count": 32}, {"cid": 20, "color": "#4E79A7", "label": "Track &amp; Artist Domain Entities", "count": 37}, {"cid": 21, "color": "#F28E2B", "label": "Source Port Protocols", "count": 29}, {"cid": 22, "color": "#E15759", "label": "User Management Service", "count": 49}, {"cid": 23, "color": "#76B7B2", "label": "Metadata Enrichment Value Objects", "count": 23}, {"cid": 24, "color": "#59A14F", "label": "DB Session &amp; Health Checks", "count": 20}, {"cid": 25, "color": "#EDC948", "label": "Download Service Tests", "count": 28}, {"cid": 26, "color": "#B07AA1", "label": "Download Job Domain Entity", "count": 28}, {"cid": 27, "color": "#FF9DA7", "label": "Credentials &amp; User Repository", "count": 39}, {"cid": 28, "color": "#9C755F", "label": "Streaming Auth Dependencies", "count": 10}, {"cid": 29, "color": "#BAB0AC", "label": "Subsonic Browsing Endpoints", "count": 27}, {"cid": 30, "color": "#4E79A7", "label": "Remote Library Service Tests", "count": 27}, {"cid": 31, "color": "#F28E2B", "label": "Worker Session Scope &amp; Download Task", "count": 27}, {"cid": 32, "color": "#E15759", "label": "Metadata Enrichment Pipeline", "count": 7}, {"cid": 33, "color": "#76B7B2", "label": "Album Domain &amp; Cover Value Object", "count": 26}, {"cid": 34, "color": "#59A14F", "label": "Downloads API Tests", "count": 26}, {"cid": 35, "color": "#EDC948", "label": "Subsonic Search Encoding", "count": 25}, {"cid": 36, "color": "#B07AA1", "label": "In-Memory Auth Repository Fakes", "count": 25}, {"cid": 37, "color": "#FF9DA7", "label": "Storage Stats Response Schemas", "count": 22}, {"cid": 38, "color": "#9C755F", "label": "Subsonic App-Password Crypto", "count": 13}, {"cid": 39, "color": "#BAB0AC", "label": "Artist Schemas &amp; Endpoints", "count": 16}, {"cid": 40, "color": "#4E79A7", "label": "Download Request/Response Schemas", "count": 20}, {"cid": 41, "color": "#F28E2B", "label": "Settings &amp; MusicBrainz User-Agent", "count": 22}, {"cid": 42, "color": "#E15759", "label": "Subsonic API Integration Tests", "count": 19}, {"cid": 43, "color": "#76B7B2", "label": "Playlist Endpoints", "count": 20}, {"cid": 44, "color": "#59A14F", "label": "Play History Domain &amp; Repository", "count": 16}, {"cid": 45, "color": "#EDC948", "label": "DB Engine Lifecycle", "count": 19}, {"cid": 46, "color": "#B07AA1", "label": "Shared Query Param Annotations", "count": 13}, {"cid": 47, "color": "#FF9DA7", "label": "Local Folder Source Backend", "count": 17}, {"cid": 48, "color": "#9C755F", "label": "Track Metadata Match Schemas", "count": 14}, {"cid": 49, "color": "#BAB0AC", "label": "Like Domain Entity (event log)", "count": 14}, {"cid": 50, "color": "#4E79A7", "label": "Auth API Integration Tests", "count": 18}, {"cid": 51, "color": "#F28E2B", "label": "Cover API Tests", "count": 15}, {"cid": 52, "color": "#E15759", "label": "Upload/Stream API Tests", "count": 15}, {"cid": 53, "color": "#76B7B2", "label": "Tag Parsing Helpers", "count": 14}, {"cid": 54, "color": "#59A14F", "label": "Metadata API Tests", "count": 14}, {"cid": 55, "color": "#EDC948", "label": "Subsonic Auth Service Tests", "count": 23}, {"cid": 56, "color": "#B07AA1", "label": "Cover Art Serving", "count": 17}, {"cid": 57, "color": "#FF9DA7", "label": "Play History Schemas", "count": 13}, {"cid": 58, "color": "#9C755F", "label": "Refresh Token Repository", "count": 11}, {"cid": 59, "color": "#BAB0AC", "label": "Radio Endpoints", "count": 12}, {"cid": 60, "color": "#4E79A7", "label": "Subsonic Legacy Password Decoding", "count": 14}, {"cid": 61, "color": "#F28E2B", "label": "Management CLI", "count": 11}, {"cid": 62, "color": "#E15759", "label": "Sources API Tests", "count": 10}, {"cid": 63, "color": "#76B7B2", "label": "Hexagonal Architecture Layers (doc)", "count": 1}, {"cid": 64, "color": "#59A14F", "label": "Test DB Fixtures (conftest)", "count": 12}, {"cid": 65, "color": "#EDC948", "label": "Upload Response Schemas", "count": 11}, {"cid": 66, "color": "#B07AA1", "label": "Cover Art Extraction (Vorbis/MP4)", "count": 13}, {"cid": 67, "color": "#FF9DA7", "label": "Storage Stats API Tests", "count": 11}, {"cid": 68, "color": "#9C755F", "label": "AcoustID Response Parser Tests", "count": 10}, {"cid": 69, "color": "#BAB0AC", "label": "Like Request/Response Schemas", "count": 14}, {"cid": 70, "color": "#4E79A7", "label": "Streaming Endpoint", "count": 9}, {"cid": 71, "color": "#F28E2B", "label": "Auth Token Issue/Refresh Flow", "count": 10}, {"cid": 72, "color": "#E15759", "label": "Generic Job/Result Store Protocol", "count": 9}, {"cid": 73, "color": "#76B7B2", "label": "Remote Library Materialization", "count": 9}, {"cid": 74, "color": "#59A14F", "label": "CI Docker Publish Workflow", "count": 7}, {"cid": 75, "color": "#EDC948", "label": "User Scrobbling Settings", "count": 7}, {"cid": 76, "color": "#B07AA1", "label": "Domain Invariants (dedup, manual overwrite, offline tags)", "count": 11}, {"cid": 77, "color": "#FF9DA7", "label": "Alembic Migration Environment", "count": 22}, {"cid": 78, "color": "#9C755F", "label": "Cover Art Archive Client", "count": 12}, {"cid": 79, "color": "#BAB0AC", "label": "Health Endpoint Smoke Tests", "count": 6}, {"cid": 80, "color": "#4E79A7", "label": "ASGI Middleware Protocol", "count": 9}, {"cid": 81, "color": "#F28E2B", "label": "File Hashing Utilities", "count": 4}, {"cid": 82, "color": "#E15759", "label": "Migration: auth_users", "count": 3}, {"cid": 83, "color": "#76B7B2", "label": "Migration: music_schema", "count": 3}, {"cid": 84, "color": "#59A14F", "label": "Migration: rename track file_path", "count": 3}, {"cid": 85, "color": "#EDC948", "label": "Migration: subsonic_app_password", "count": 3}, {"cid": 86, "color": "#B07AA1", "label": "Migration: track_enrichment_outcome", "count": 3}, {"cid": 87, "color": "#FF9DA7", "label": "Migration: download_job_track_id", "count": 3}, {"cid": 88, "color": "#9C755F", "label": "Migration: remote_placeholders", "count": 3}, {"cid": 89, "color": "#BAB0AC", "label": "Package: app.api", "count": 2}, {"cid": 90, "color": "#4E79A7", "label": "Package: app.api.schemas", "count": 2}, {"cid": 91, "color": "#F28E2B", "label": "Package: app.application", "count": 2}, {"cid": 92, "color": "#E15759", "label": "Package: app.core", "count": 2}, {"cid": 93, "color": "#76B7B2", "label": "Package: app.domain", "count": 2}, {"cid": 94, "color": "#59A14F", "label": "Package: app.infrastructure", "count": 2}, {"cid": 95, "color": "#EDC948", "label": "Package: metadata-enrichment adapters", "count": 2}, {"cid": 96, "color": "#B07AA1", "label": "Package: source backends", "count": 2}, {"cid": 97, "color": "#FF9DA7", "label": "Package: storage adapters", "count": 2}, {"cid": 98, "color": "#9C755F", "label": "Package: app root (mcma-backend)", "count": 2}, {"cid": 99, "color": "#BAB0AC", "label": "Package: arq worker", "count": 2}, {"cid": 100, "color": "#4E79A7", "label": "Package: arq tasks", "count": 2}, {"cid": 101, "color": "#F28E2B", "label": "Config Conventions (doc)", "count": 1}, {"cid": 102, "color": "#E15759", "label": "Subsonic Adapter Convention (doc)", "count": 1}, {"cid": 103, "color": "#76B7B2", "label": "DB Session Convention (doc)", "count": 1}, {"cid": 104, "color": "#59A14F", "label": "Health Convention (doc)", "count": 1}, {"cid": 105, "color": "#EDC948", "label": "Invariant: Graceful Degradation", "count": 1}, {"cid": 106, "color": "#B07AA1", "label": "Invariant: Likes Are Append-Only", "count": 1}, {"cid": 107, "color": "#FF9DA7", "label": "Invariant: Stable Track content_id", "count": 1}, {"cid": 108, "color": "#9C755F", "label": "Logging Convention (doc)", "count": 1}, {"cid": 109, "color": "#BAB0AC", "label": "Python 3.14 Lazy Annotations Note", "count": 1}, {"cid": 110, "color": "#4E79A7", "label": "App-Passwords Mechanism (doc)", "count": 8}, {"cid": 111, "color": "#F28E2B", "label": "Local Dev Setup (doc)", "count": 1}, {"cid": 112, "color": "#E15759", "label": "Tooling Section (doc)", "count": 3}, {"cid": 113, "color": "#76B7B2", "label": "Package: workers", "count": 1}, {"cid": 114, "color": "#59A14F", "label": "app/application \u2014 use cases / services", "count": 1}, {"cid": 115, "color": "#EDC948", "label": "Composition roots (app/main.py, app/api/deps.py)", "count": 1}, {"cid": 116, "color": "#B07AA1", "label": "app/core \u2014 cross-cutting concerns", "count": 1}, {"cid": 117, "color": "#FF9DA7", "label": "app/domain \u2014 pure business core", "count": 1}, {"cid": 118, "color": "#9C755F", "label": "Error handling convention (domain errors \u2192 HTTP in app/api/errors.py)", "count": 1}, {"cid": 119, "color": "#BAB0AC", "label": "Hexagonal architecture (ports &amp; adapters)", "count": 1}, {"cid": 120, "color": "#4E79A7", "label": "app/infrastructure \u2014 driven adapters", "count": 1}, {"cid": 121, "color": "#F28E2B", "label": "Invariant: dedup on (source, source_id) and acoustid_fingerprint", "count": 1}, {"cid": 122, "color": "#E15759", "label": "Invariant: no heavy work in the request cycle (goes to arq workers)", "count": 1}, {"cid": 123, "color": "#76B7B2", "label": "Invariant: never overwrite metadata_status=manual", "count": 1}, {"cid": 124, "color": "#59A14F", "label": "Migrations convention (async, settings-driven Alembic)", "count": 1}, {"cid": 125, "color": "#EDC948", "label": "app/workers \u2014 arq background tasks", "count": 1}, {"cid": 126, "color": "#B07AA1", "label": "Build (Docker) section", "count": 1}, {"cid": 127, "color": "#FF9DA7", "label": "Hexagonal architecture (ports &amp; adapters) \u2014 README", "count": 1}, {"cid": 128, "color": "#9C755F", "label": "Database migrations (Alembic) section", "count": 1}, {"cid": 129, "color": "#BAB0AC", "label": "Subsonic API (/rest) section", "count": 1}, {"cid": 130, "color": "#4E79A7", "label": "acoustid_trust_score (trust high-confidence AcoustID over junk tags)", "count": 1}, {"cid": 131, "color": "#F28E2B", "label": "Offline tag reader (deterministic, always runs)", "count": 1}, {"cid": 132, "color": "#E15759", "label": "scarlet_fire_otis_mcdonald.mp3 test fixture", "count": 1}];
// HTML-escape helper — prevents XSS when injecting graph data into innerHTML
function esc(s) {
return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');
}
// Build vis datasets
const nodesDS = new vis.DataSet(RAW_NODES.map(n => ({
id: n.id, label: n.label, color: n.color, size: n.size,
font: n.font, title: n.title,
_community: n.community, _community_name: n.community_name,
_source_file: n.source_file, _file_type: n.file_type, _degree: n.degree,
})));
const edgesDS = new vis.DataSet(RAW_EDGES.map((e, i) => ({
id: i, from: e.from, to: e.to,
label: '',
title: e.title,
dashes: e.dashes,
width: e.width,
color: e.color,
arrows: { to: { enabled: true, scaleFactor: 0.5 } },
})));
const container = document.getElementById('graph');
const network = new vis.Network(container, { nodes: nodesDS, edges: edgesDS }, {
physics: {
enabled: true,
solver: 'forceAtlas2Based',
forceAtlas2Based: {
gravitationalConstant: -60,
centralGravity: 0.005,
springLength: 120,
springConstant: 0.08,
damping: 0.4,
avoidOverlap: 0.8,
},
stabilization: { iterations: 200, fit: true },
},
interaction: {
hover: true,
tooltipDelay: 100,
hideEdgesOnDrag: true,
navigationButtons: false,
keyboard: false,
},
nodes: { shape: 'dot', borderWidth: 1.5 },
edges: { smooth: { type: 'continuous', roundness: 0.2 }, selectionWidth: 3 },
});
network.once('stabilizationIterationsDone', () => {
network.setOptions({ physics: { enabled: false } });
});
function showInfo(nodeId) {
const n = nodesDS.get(nodeId);
if (!n) return;
const neighborIds = network.getConnectedNodes(nodeId);
const neighborItems = neighborIds.map(nid => {
const nb = nodesDS.get(nid);
const color = nb ? nb.color.background : '#555';
return `<span class="neighbor-link" style="border-left-color:${esc(color)}" onclick="focusNode(${JSON.stringify(nid)})">${esc(nb ? nb.label : nid)}</span>`;
}).join('');
document.getElementById('info-content').innerHTML = `
<div class="field"><b>${esc(n.label)}</b></div>
<div class="field">Type: ${esc(n._file_type || 'unknown')}</div>
<div class="field">Community: ${esc(n._community_name)}</div>
<div class="field">Source: ${esc(n._source_file || '-')}</div>
<div class="field">Degree: ${n._degree}</div>
${neighborIds.length ? `<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors (${neighborIds.length})</div><div id="neighbors-list">${neighborItems}</div>` : ''}
`;
}
function focusNode(nodeId) {
network.focus(nodeId, { scale: 1.4, animation: true });
network.selectNodes([nodeId]);
showInfo(nodeId);
}
// Track hovered node — hover detection is more reliable than click params
let hoveredNodeId = null;
network.on('hoverNode', params => {
hoveredNodeId = params.node;
container.style.cursor = 'pointer';
});
network.on('blurNode', () => {
hoveredNodeId = null;
container.style.cursor = 'default';
});
container.addEventListener('click', () => {
if (hoveredNodeId !== null) {
showInfo(hoveredNodeId);
network.selectNodes([hoveredNodeId]);
}
});
network.on('click', params => {
if (params.nodes.length > 0) {
showInfo(params.nodes[0]);
} else if (hoveredNodeId === null) {
document.getElementById('info-content').innerHTML = '<span class="empty">Click a node to inspect it</span>';
}
});
const searchInput = document.getElementById('search');
const searchResults = document.getElementById('search-results');
searchInput.addEventListener('input', () => {
const q = searchInput.value.toLowerCase().trim();
searchResults.innerHTML = '';
if (!q) { searchResults.style.display = 'none'; return; }
const matches = RAW_NODES.filter(n => n.label.toLowerCase().includes(q)).slice(0, 20);
if (!matches.length) { searchResults.style.display = 'none'; return; }
searchResults.style.display = 'block';
matches.forEach(n => {
const el = document.createElement('div');
el.className = 'search-item';
el.textContent = n.label;
el.style.borderLeft = `3px solid ${n.color.background}`;
el.style.paddingLeft = '8px';
el.onclick = () => {
network.focus(n.id, { scale: 1.5, animation: true });
network.selectNodes([n.id]);
showInfo(n.id);
searchResults.style.display = 'none';
searchInput.value = '';
};
searchResults.appendChild(el);
});
});
document.addEventListener('click', e => {
if (!searchResults.contains(e.target) && e.target !== searchInput)
searchResults.style.display = 'none';
});
const hiddenCommunities = new Set();
const selectAllCb = document.getElementById('select-all-cb');
function updateSelectAllState() {
const total = LEGEND.length;
const hidden = hiddenCommunities.size;
selectAllCb.checked = hidden === 0;
selectAllCb.indeterminate = hidden > 0 && hidden < total;
}
function toggleAllCommunities(hide) {
document.querySelectorAll('.legend-item').forEach(item => {
hide ? item.classList.add('dimmed') : item.classList.remove('dimmed');
});
document.querySelectorAll('.legend-cb').forEach(cb => {
cb.checked = !hide;
});
LEGEND.forEach(c => {
if (hide) hiddenCommunities.add(c.cid); else hiddenCommunities.delete(c.cid);
});
const updates = RAW_NODES.map(n => ({ id: n.id, hidden: hide }));
nodesDS.update(updates);
updateSelectAllState();
}
const legendEl = document.getElementById('legend');
LEGEND.forEach(c => {
const item = document.createElement('div');
item.className = 'legend-item';
const cb = document.createElement('input');
cb.type = 'checkbox';
cb.className = 'legend-cb';
cb.checked = true;
cb.addEventListener('change', (e) => {
e.stopPropagation();
if (cb.checked) {
hiddenCommunities.delete(c.cid);
item.classList.remove('dimmed');
} else {
hiddenCommunities.add(c.cid);
item.classList.add('dimmed');
}
const updates = RAW_NODES
.filter(n => n.community === c.cid)
.map(n => ({ id: n.id, hidden: !cb.checked }));
nodesDS.update(updates);
updateSelectAllState();
});
item.innerHTML = `<div class="legend-dot" style="background:${c.color}"></div>
<span class="legend-label">${c.label}</span>
<span class="legend-count">${c.count}</span>`;
item.prepend(cb);
item.onclick = (e) => {
if (e.target === cb) return;
cb.checked = !cb.checked;
cb.dispatchEvent(new Event('change'));
};
legendEl.appendChild(item);
});
</script>
<script>
// Render hyperedges as shaded regions
const hyperedges = [{"id": "claude_cross_cutting_conventions", "label": "Cross-cutting conventions (errors, config, logging, db sessions, migrations, health)", "nodes": ["claude_error_handling_convention", "claude_config_convention", "claude_logging_convention", "claude_db_sessions_convention", "claude_migrations_convention", "claude_health_convention"], "relation": "form", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "CLAUDE.md"}, {"id": "claude_domain_invariants", "label": "Non-negotiable domain invariants (for future sync + ML)", "nodes": ["claude_invariant_likes_event_log", "claude_invariant_track_id_stable", "claude_invariant_dedup", "claude_invariant_graceful_degradation", "claude_invariant_no_manual_overwrite", "claude_invariant_no_heavy_work_in_request", "claude_invariant_subsonic_compatibility"], "relation": "form", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "CLAUDE.md"}, {"id": "claude_hexagonal_layers", "label": "Hexagonal architecture layers (domain/application/infrastructure/api/core/workers)", "nodes": ["claude_domain_layer", "claude_application_layer", "claude_infrastructure_layer", "claude_api_layer", "claude_core_layer", "claude_workers_layer"], "relation": "implement", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "CLAUDE.md"}];
// afterDrawing passes ctx already transformed to network coordinate space.
// Draw node positions raw — no manual pan/zoom/DPR math needed.
network.on('afterDrawing', function(ctx) {
hyperedges.forEach(h => {
const positions = h.nodes
.map(nid => network.getPositions([nid])[nid])
.filter(p => p !== undefined);
if (positions.length < 2) return;
ctx.save();
ctx.globalAlpha = 0.12;
ctx.fillStyle = '#6366f1';
ctx.strokeStyle = '#6366f1';
ctx.lineWidth = 2;
ctx.beginPath();
// Centroid and expanded hull in network coordinates
const cx = positions.reduce((s, p) => s + p.x, 0) / positions.length;
const cy = positions.reduce((s, p) => s + p.y, 0) / positions.length;
const expanded = positions.map(p => ({
x: cx + (p.x - cx) * 1.15,
y: cy + (p.y - cy) * 1.15
}));
ctx.moveTo(expanded[0].x, expanded[0].y);
expanded.slice(1).forEach(p => ctx.lineTo(p.x, p.y));
ctx.closePath();
ctx.fill();
ctx.globalAlpha = 0.4;
ctx.stroke();
// Label
ctx.globalAlpha = 0.8;
ctx.fillStyle = '#4f46e5';
ctx.font = 'bold 11px sans-serif';
ctx.textAlign = 'center';
ctx.fillText(h.label, cx, cy - 5);
ctx.restore();
});
});
</script>
</body>
</html>