{"nodes": [{"id": "backend_app_services_swiftly_auth_py", "label": "swiftly_auth.py", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L1"}, {"id": "swiftly_auth_swiftlyauthminterror", "label": "SwiftlyAuthMintError", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L28"}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "swiftly_auth_reset_cache_for_tests", "label": "_reset_cache_for_tests()", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L51"}, {"id": "swiftly_auth_decode_jwt_payload", "label": "_decode_jwt_payload()", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L59"}, {"id": "swiftly_auth_fetch_firebase_api_key", "label": "_fetch_firebase_api_key()", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L72"}, {"id": "swiftly_auth_mint_anonymous_token", "label": "mint_anonymous_token()", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L105"}, {"id": "swiftly_auth_get_token", "label": "get_token()", "file_type": "code", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L160"}, {"id": "swiftly_auth_rationale_1", "label": "Swiftly bearer-JWT auto-mint via Firebase REST. Replaces the static ``SWIFTLY_B", "file_type": "rationale", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L1"}, {"id": "swiftly_auth_rationale_29", "label": "Raised when minting a fresh Swiftly JWT fails. Surface the message verbatim", "file_type": "rationale", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L29"}, {"id": "swiftly_auth_rationale_52", "label": "Clear the process-local cache. Test-only helper.", "file_type": "rationale", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L52"}, {"id": "swiftly_auth_rationale_106", "label": "Mint a fresh anonymous Firebase ID token. Returns ``(token, exp_epoch_secon", "file_type": "rationale", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L106"}, {"id": "swiftly_auth_rationale_161", "label": "Return a valid Swiftly bearer JWT, minting one if needed. A cached token is", "file_type": "rationale", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L161"}], "edges": [{"source": "backend_app_services_swiftly_auth_py", "target": "base64", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L18", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "threading", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L19", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "time", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "requests", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_swiftlyauthminterror", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L28", "weight": 1.0}, {"source": "swiftly_auth_swiftlyauthminterror", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L28", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_reset_cache_for_tests", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L51", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_decode_jwt_payload", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L59", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_fetch_firebase_api_key", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L72", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_mint_anonymous_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L105", "weight": 1.0}, {"source": "backend_app_services_swiftly_auth_py", "target": "swiftly_auth_get_token", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L160", "weight": 1.0}, {"source": "swiftly_auth_decode_jwt_payload", "target": "swiftly_auth_swiftlyauthminterror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L62", "weight": 1.0}, {"source": "swiftly_auth_fetch_firebase_api_key", "target": "swiftly_auth_swiftlyauthminterror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L83", "weight": 1.0}, {"source": "swiftly_auth_mint_anonymous_token", "target": "swiftly_auth_fetch_firebase_api_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L111", "weight": 1.0}, {"source": "swiftly_auth_mint_anonymous_token", "target": "swiftly_auth_swiftlyauthminterror", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L127", "weight": 1.0}, {"source": "swiftly_auth_mint_anonymous_token", "target": "swiftly_auth_decode_jwt_payload", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L144", "weight": 1.0}, {"source": "swiftly_auth_get_token", "target": "swiftly_auth_mint_anonymous_token", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L171", "weight": 1.0}, {"source": "swiftly_auth_rationale_1", "target": "backend_app_services_swiftly_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L1", "weight": 1.0}, {"source": "swiftly_auth_rationale_29", "target": "swiftly_auth_swiftlyauthminterror", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L29", "weight": 1.0}, {"source": "swiftly_auth_rationale_52", "target": "swiftly_auth_reset_cache_for_tests", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L52", "weight": 1.0}, {"source": "swiftly_auth_rationale_106", "target": "swiftly_auth_mint_anonymous_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L106", "weight": 1.0}, {"source": "swiftly_auth_rationale_161", "target": "swiftly_auth_get_token", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L161", "weight": 1.0}], "raw_calls": [{"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "split", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L60"}, {"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "len", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L61"}, {"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "len", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L64"}, {"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "urlsafe_b64decode", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L66"}, {"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "encode", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L66"}, {"caller_nid": "swiftly_auth_decode_jwt_payload", "callee": "loads", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L67"}, {"caller_nid": "swiftly_auth_fetch_firebase_api_key", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L73"}, {"caller_nid": "swiftly_auth_fetch_firebase_api_key", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L77"}, {"caller_nid": "swiftly_auth_fetch_firebase_api_key", "callee": "json", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L91"}, {"caller_nid": "swiftly_auth_fetch_firebase_api_key", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L96"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "post", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L119"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "json", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L135"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L140"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L145"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L150"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "isinstance", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L151"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "float", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L153"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "time", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L153"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "time", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L155"}, {"caller_nid": "swiftly_auth_mint_anonymous_token", "callee": "float", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L157"}, {"caller_nid": "swiftly_auth_get_token", "callee": "time", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L167"}, {"caller_nid": "swiftly_auth_get_token", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L168"}, {"caller_nid": "swiftly_auth_get_token", "callee": "get", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L169"}, {"caller_nid": "swiftly_auth_get_token", "callee": "info", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L174"}, {"caller_nid": "swiftly_auth_get_token", "callee": "time", "source_file": "backend/app/services/swiftly_auth.py", "source_location": "L175"}]}