{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "label": "storage.py", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "label": "get_storage_stats()", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L28", "_callable": true}, {"id": "trackrepodep", "label": "TrackRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "artistrepodep", "label": "ArtistRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "albumrepodep", "label": "AlbumRepoDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "filestoragedep", "label": "FileStorageDep", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "currentuser", "label": "CurrentUser", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "storagestatsout", "label": "StorageStatsOut", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_duplicates", "label": "get_duplicates()", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L73", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/storage.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_broken_files", "label": "get_broken_files()", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L77", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_missing_metadata", "label": "get_missing_metadata()", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L81", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_run_cleanup", "label": "run_cleanup()", "file_type": "code", "source_file": "app/api/v1/storage.py", "source_location": "L85", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_rationale_1", "label": "Storage analysis and cleanup endpoints.", "file_type": "rationale", "source_file": "app/api/v1/storage.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_rationale_35", "label": "Library + disk statistics for the Storage dashboard (\u00a7A6). Aggregates come", "file_type": "rationale", "source_file": "app/api/v1/storage.py", "source_location": "L35"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "app_api_deps", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "app_api_schemas_storage", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L14", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "trackrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "artistrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "albumrepodep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "filestoragedep", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "currentuser", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "storagestatsout", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L28", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_duplicates", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L73", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_duplicates", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L73", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_broken_files", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L77", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_broken_files", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L77", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_missing_metadata", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L81", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_missing_metadata", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L81", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_run_cleanup", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L85", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_run_cleanup", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L85", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "target": "storagestatsout", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L46", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_rationale_35", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/v1/storage.py", "source_location": "L35", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "library_stats", "is_member_call": true, "source_file": "app/api/v1/storage.py", "source_location": "L40", "receiver": "track_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "count", "is_member_call": true, "source_file": "app/api/v1/storage.py", "source_location": "L41", "receiver": "artist_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "count", "is_member_call": true, "source_file": "app/api/v1/storage.py", "source_location": "L42", "receiver": "album_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "genres", "is_member_call": true, "source_file": "app/api/v1/storage.py", "source_location": "L43", "receiver": "track_repo"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "disk_usage", "is_member_call": true, "source_file": "app/api/v1/storage.py", "source_location": "L44", "receiver": "storage"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "FormatBreakdownOut", "is_member_call": false, "source_file": "app/api/v1/storage.py", "source_location": "L56", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "GenreCountOut", "is_member_call": false, "source_file": "app/api/v1/storage.py", "source_location": "L66", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_storage_get_storage_stats", "callee": "DiskUsageOut", "is_member_call": false, "source_file": "app/api/v1/storage.py", "source_location": "L68", "receiver": null}]}