{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_py", "label": "subsonic.py", "file_type": "code", "source_file": "app/api/schemas/subsonic.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_subsonicpasswordresponse", "label": "SubsonicPasswordResponse", "file_type": "code", "source_file": "app/api/schemas/subsonic.py", "source_location": "L10", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/subsonic.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_rationale_1", "label": "Schemas for Subsonic app-password self-service (native /api/v1 surface). The Su", "file_type": "rationale", "source_file": "app/api/schemas/subsonic.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_rationale_11", "label": "The plaintext Subsonic app-password, for pasting into a client.", "file_type": "rationale", "source_file": "app/api/schemas/subsonic.py", "source_location": "L11"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/subsonic.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_subsonicpasswordresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/subsonic.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_subsonicpasswordresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/subsonic.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/subsonic.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_rationale_11", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_subsonic_subsonicpasswordresponse", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/subsonic.py", "source_location": "L11", "weight": 1.0}], "raw_calls": []}