{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_py", "label": "cover.py", "file_type": "code", "source_file": "app/domain/entities/cover.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart", "label": "CoverArt", "file_type": "code", "source_file": "app/domain/entities/cover.py", "source_location": "L12", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart_extension", "label": ".extension()", "file_type": "code", "source_file": "app/domain/entities/cover.py", "source_location": "L17", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_rationale_1", "label": "Cover-art value object \u2014 raw image bytes plus their MIME type. Crosses the doma", "file_type": "rationale", "source_file": "app/domain/entities/cover.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_rationale_18", "label": "File extension for the content type (no leading dot).", "file_type": "rationale", "source_file": "app/domain/entities/cover.py", "source_location": "L18"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/cover.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/cover.py", "source_location": "L12", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart_extension", "relation": "method", "confidence": "EXTRACTED", "source_file": "app/domain/entities/cover.py", "source_location": "L17", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/cover.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_rationale_18", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart_extension", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/cover.py", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart_extension", "callee": "get", "is_member_call": true, "source_file": "app/domain/entities/cover.py", "source_location": "L19", "receiver": "_EXT_BY_TYPE"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_cover_coverart_extension", "callee": "lower", "is_member_call": true, "source_file": "app/domain/entities/cover.py", "source_location": "L19", "receiver": null}]}