{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "label": "20260608_1200-subsonic_app_password.py", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "label": "upgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L24", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "label": "downgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L31", "_callable": true}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L13", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "sqlalchemy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "alembic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L16", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L24", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L31", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "callee": "add_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L25", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "callee": "Column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L27", "receiver": "sa"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "callee": "drop_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L32", "receiver": "op"}]}