{
  "version": 1,
  "generatedAt": "2026-05-25T11:41:33.166Z",
  "fileId": "file:1ud0jop:iidentityservice-cs",
  "executableScope": true,
  "executableSymbolCount": 6,
  "fileNodeId": "file:1ud0jop:iidentityservice-cs",
  "symbolNodeIds": [
    "method:d5t49u:onstateinvalidated",
    "method:12nj2l:registerasync",
    "method:1ww1s1:loginasync",
    "method:urpd77:logoutasync",
    "method:yzr6ph:getprofileasync",
    "method:1gbqw83:refreshtokenasync",
    "type:udpmrx:iidentityservice"
  ],
  "containmentEdgeIds": [
    "edge:pjc1sp:contains",
    "edge:1gan3qn:contains",
    "edge:1a57gs4:contains",
    "edge:1l4dise:contains",
    "edge:840cjl:contains",
    "edge:1h5xbd0:contains",
    "edge:whtbqg:defines-type"
  ],
  "relationshipEdgeIds": [
    "edge:pjc1sp:contains",
    "edge:1gan3qn:contains",
    "edge:1a57gs4:contains",
    "edge:1l4dise:contains",
    "edge:840cjl:contains",
    "edge:1h5xbd0:contains",
    "edge:whtbqg:defines-type",
    "edge:1y85tka:imports"
  ],
  "integrationEdgeIds": [
    "edge:1y85tka:imports"
  ],
  "controlFlowFragments": [
    {
      "fragmentId": "method:d5t49u:onstateinvalidated__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:d5t49u:onstateinvalidated",
      "ownerSymbolName": "OnStateInvalidated",
      "entryNodeId": "method:d5t49u:onstateinvalidated__entry",
      "exitNodeIds": [
        "method:d5t49u:onstateinvalidated__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:d5t49u:onstateinvalidated__entry",
          "kind": "entry",
          "label": "OnStateInvalidated entry",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Event triggered when identity/authentication state becomes invalid and consumers should react (e.g., clear state or re-authenticate)."
        },
        {
          "id": "method:d5t49u:onstateinvalidated__action_8_event_declaration_8__linear",
          "kind": "statement",
          "label": "State invalidation event declared",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "public event Func<Task>? OnStateInvalidated; consumers subscribe to be notified asynchronously"
        },
        {
          "id": "method:d5t49u:onstateinvalidated__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:d5t49u:onstateinvalidated__entry__method:d5t49u:onstateinvalidated__action_8_event_declaration_8__linear",
          "from": "method:d5t49u:onstateinvalidated__entry",
          "to": "method:d5t49u:onstateinvalidated__action_8_event_declaration_8__linear",
          "kind": "next",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:d5t49u:onstateinvalidated__action_8_event_declaration_8__linear__implicit_return",
          "from": "method:d5t49u:onstateinvalidated__action_8_event_declaration_8__linear",
          "to": "method:d5t49u:onstateinvalidated__implicit_return",
          "kind": "return",
          "line": 8,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 8,
        "end": 8
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 8,
          "summary": "Control-flow fragment extracted for method OnStateInvalidated.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:12nj2l:registerasync__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:12nj2l:registerasync",
      "ownerSymbolName": "RegisterAsync",
      "entryNodeId": "method:12nj2l:registerasync__entry",
      "exitNodeIds": [
        "method:12nj2l:registerasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:12nj2l:registerasync__entry",
          "kind": "entry",
          "label": "RegisterAsync entry",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Registers a new user account using email and password and returns a success/failure Result."
        },
        {
          "id": "method:12nj2l:registerasync__action_9_contract_9__linear",
          "kind": "statement",
          "label": "Registration operation declared",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "Asynchronous contract that returns a FluentResults.Result indicating success/failure"
        },
        {
          "id": "method:12nj2l:registerasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:12nj2l:registerasync__entry__method:12nj2l:registerasync__action_9_contract_9__linear",
          "from": "method:12nj2l:registerasync__entry",
          "to": "method:12nj2l:registerasync__action_9_contract_9__linear",
          "kind": "next",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:12nj2l:registerasync__action_9_contract_9__linear__implicit_return",
          "from": "method:12nj2l:registerasync__action_9_contract_9__linear",
          "to": "method:12nj2l:registerasync__implicit_return",
          "kind": "return",
          "line": 9,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 9,
        "end": 9
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 9,
          "summary": "Control-flow fragment extracted for method RegisterAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1ww1s1:loginasync__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:1ww1s1:loginasync",
      "ownerSymbolName": "LoginAsync",
      "entryNodeId": "method:1ww1s1:loginasync__entry",
      "exitNodeIds": [
        "method:1ww1s1:loginasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1ww1s1:loginasync__entry",
          "kind": "entry",
          "label": "LoginAsync entry",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Authenticates a user with credentials and optional persistence (rememberMe) and returns a Result."
        },
        {
          "id": "method:1ww1s1:loginasync__action_10_contract_10__linear",
          "kind": "statement",
          "label": "Login operation declared",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "Asynchronous authentication contract returning FluentResults.Result"
        },
        {
          "id": "method:1ww1s1:loginasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1ww1s1:loginasync__entry__method:1ww1s1:loginasync__action_10_contract_10__linear",
          "from": "method:1ww1s1:loginasync__entry",
          "to": "method:1ww1s1:loginasync__action_10_contract_10__linear",
          "kind": "next",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1ww1s1:loginasync__action_10_contract_10__linear__implicit_return",
          "from": "method:1ww1s1:loginasync__action_10_contract_10__linear",
          "to": "method:1ww1s1:loginasync__implicit_return",
          "kind": "return",
          "line": 10,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 10,
        "end": 10
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 10,
          "summary": "Control-flow fragment extracted for method LoginAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:urpd77:logoutasync__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:urpd77:logoutasync",
      "ownerSymbolName": "LogoutAsync",
      "entryNodeId": "method:urpd77:logoutasync__entry",
      "exitNodeIds": [
        "method:urpd77:logoutasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:urpd77:logoutasync__entry",
          "kind": "entry",
          "label": "LogoutAsync entry",
          "line": 11,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Logs out the current user and returns a Result indicating success/failure."
        },
        {
          "id": "method:urpd77:logoutasync__action_11_contract_11__linear",
          "kind": "statement",
          "label": "Logout operation declared",
          "line": 11,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "Asynchronous logout contract returning FluentResults.Result"
        },
        {
          "id": "method:urpd77:logoutasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 11,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:urpd77:logoutasync__entry__method:urpd77:logoutasync__action_11_contract_11__linear",
          "from": "method:urpd77:logoutasync__entry",
          "to": "method:urpd77:logoutasync__action_11_contract_11__linear",
          "kind": "next",
          "line": 11,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:urpd77:logoutasync__action_11_contract_11__linear__implicit_return",
          "from": "method:urpd77:logoutasync__action_11_contract_11__linear",
          "to": "method:urpd77:logoutasync__implicit_return",
          "kind": "return",
          "line": 11,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 11,
        "end": 11
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 11,
          "summary": "Control-flow fragment extracted for method LogoutAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:yzr6ph:getprofileasync__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:yzr6ph:getprofileasync",
      "ownerSymbolName": "GetProfileAsync",
      "entryNodeId": "method:yzr6ph:getprofileasync__entry",
      "exitNodeIds": [
        "method:yzr6ph:getprofileasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:yzr6ph:getprofileasync__entry",
          "kind": "entry",
          "label": "GetProfileAsync entry",
          "line": 12,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Retrieves the current user's profile wrapped in a Result with UserProfileDto on success."
        },
        {
          "id": "method:yzr6ph:getprofileasync__action_12_contract_12__linear",
          "kind": "statement",
          "label": "Profile retrieval operation declared",
          "line": 12,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "Asynchronous contract returning a typed Result carrying UserProfileDto"
        },
        {
          "id": "method:yzr6ph:getprofileasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 12,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:yzr6ph:getprofileasync__entry__method:yzr6ph:getprofileasync__action_12_contract_12__linear",
          "from": "method:yzr6ph:getprofileasync__entry",
          "to": "method:yzr6ph:getprofileasync__action_12_contract_12__linear",
          "kind": "next",
          "line": 12,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:yzr6ph:getprofileasync__action_12_contract_12__linear__implicit_return",
          "from": "method:yzr6ph:getprofileasync__action_12_contract_12__linear",
          "to": "method:yzr6ph:getprofileasync__implicit_return",
          "kind": "return",
          "line": 12,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 12,
        "end": 12
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 12,
          "summary": "Control-flow fragment extracted for method GetProfileAsync.",
          "kind": "file-summary"
        }
      ]
    },
    {
      "fragmentId": "method:1gbqw83:refreshtokenasync__fragment",
      "ownerFileId": "file:1ud0jop:iidentityservice-cs",
      "ownerSymbolId": "method:1gbqw83:refreshtokenasync",
      "ownerSymbolName": "RefreshTokenAsync",
      "entryNodeId": "method:1gbqw83:refreshtokenasync__entry",
      "exitNodeIds": [
        "method:1gbqw83:refreshtokenasync__implicit_return"
      ],
      "nodes": [
        {
          "id": "method:1gbqw83:refreshtokenasync__entry",
          "kind": "entry",
          "label": "RefreshTokenAsync entry",
          "line": 13,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.99,
          "detail": "Requests a token refresh for the current authentication session and returns a Result indicating success/failure."
        },
        {
          "id": "method:1gbqw83:refreshtokenasync__action_13_contract_13__linear",
          "kind": "statement",
          "label": "Token refresh operation declared",
          "line": 13,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7,
          "detail": "Asynchronous contract for refreshing authentication tokens"
        },
        {
          "id": "method:1gbqw83:refreshtokenasync__implicit_return",
          "kind": "return",
          "label": "return",
          "line": 13,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72,
          "detail": "Implicit method exit inferred from method boundary."
        }
      ],
      "edges": [
        {
          "id": "method:1gbqw83:refreshtokenasync__entry__method:1gbqw83:refreshtokenasync__action_13_contract_13__linear",
          "from": "method:1gbqw83:refreshtokenasync__entry",
          "to": "method:1gbqw83:refreshtokenasync__action_13_contract_13__linear",
          "kind": "next",
          "line": 13,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.7
        },
        {
          "id": "method:1gbqw83:refreshtokenasync__action_13_contract_13__linear__implicit_return",
          "from": "method:1gbqw83:refreshtokenasync__action_13_contract_13__linear",
          "to": "method:1gbqw83:refreshtokenasync__implicit_return",
          "kind": "return",
          "line": 13,
          "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "confidence": 0.72
        }
      ],
      "jumpTargets": [],
      "exceptionTargets": [],
      "loopBackEdges": [],
      "mergeNodeIds": [],
      "language": "csharp",
      "confidence": 0.76,
      "lineSpan": {
        "start": 13,
        "end": 13
      },
      "unsupportedConstructs": [],
      "evidence": [
        {
          "path": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
          "line": 13,
          "summary": "Control-flow fragment extracted for method RefreshTokenAsync.",
          "kind": "file-summary"
        }
      ]
    }
  ],
  "unresolvedJumps": [],
  "diagrams": [
    {
      "id": "file_1ud0jop_iidentityservice_cs_neighborhood_view",
      "purpose": "neighborhood-view",
      "title": "IIdentityService Neighborhood",
      "required": true,
      "diagram": {
        "id": "file_1ud0jop_iidentityservice_cs_neighborhood_view",
        "kind": "dependency-map",
        "title": "IIdentityService Neighborhood",
        "direction": "LR",
        "nodes": [
          {
            "id": "file_1ud0jop_iidentityservice_cs",
            "kind": "service",
            "label": "IIdentityService",
            "shape": "rounded",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs"
          },
          {
            "id": "method_d5t49u_onstateinvalidated",
            "kind": "method",
            "label": "OnStateInvalidated()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 8
          },
          {
            "id": "method_12nj2l_registerasync",
            "kind": "method",
            "label": "RegisterAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 9
          },
          {
            "id": "method_1ww1s1_loginasync",
            "kind": "method",
            "label": "LoginAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 10
          },
          {
            "id": "method_urpd77_logoutasync",
            "kind": "method",
            "label": "LogoutAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 11
          },
          {
            "id": "method_yzr6ph_getprofileasync",
            "kind": "method",
            "label": "GetProfileAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 12
          },
          {
            "id": "method_1gbqw83_refreshtokenasync",
            "kind": "method",
            "label": "RefreshTokenAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 13
          },
          {
            "id": "type_udpmrx_iidentityservice",
            "kind": "document",
            "label": "IIdentityService",
            "shape": "doc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 6
          },
          {
            "id": "file_1fs0p2c_userprofiledto_cs",
            "kind": "dependency",
            "label": "UserProfileDto",
            "shape": "doc",
            "sourcePath": "NexusReader.Application/DTOs/User/UserProfileDto.cs"
          }
        ],
        "edges": [
          {
            "id": "edge_1y85tka_imports",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "file_1fs0p2c_userprofiledto_cs",
            "semanticLabel": "UserProfileDto",
            "visibleLabel": "UserProfileDto",
            "relation": "uses",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs"
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Application/Abstractions/Services/IIdentityService.cs"
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart LR\n    file_1ud0jop_iidentityservice_cs(\"IIdentityService\")\n    method_12nj2l_registerasync[[\"RegisterAsync()\"]]\n    method_1gbqw83_refreshtokenasync[[\"RefreshTokenAsync()\"]]\n    method_1ww1s1_loginasync[[\"LoginAsync()\"]]\n    method_d5t49u_onstateinvalidated[[\"OnStateInvalidated()\"]]\n    method_urpd77_logoutasync[[\"LogoutAsync()\"]]\n    method_yzr6ph_getprofileasync[[\"GetProfileAsync()\"]]\n    file_1fs0p2c_userprofiledto_cs[/\"UserProfileDto\"/]\n    type_udpmrx_iidentityservice[/\"IIdentityService\"/]\n    file_1ud0jop_iidentityservice_cs -->|UserProfileDto| file_1fs0p2c_userprofiledto_cs",
      "warnings": []
    },
    {
      "id": "file_1ud0jop_iidentityservice_cs_execution_view",
      "purpose": "execution-overview",
      "title": "IIdentityService Execution Overview",
      "required": true,
      "diagram": {
        "id": "file_1ud0jop_iidentityservice_cs_execution_view",
        "kind": "method-flow",
        "title": "IIdentityService Execution Overview",
        "direction": "TD",
        "nodes": [
          {
            "id": "file_1ud0jop_iidentityservice_cs",
            "kind": "service",
            "label": "IIdentityService",
            "shape": "rounded",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs"
          },
          {
            "id": "method_d5t49u_onstateinvalidated",
            "kind": "method",
            "label": "OnStateInvalidated()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 8
          },
          {
            "id": "method_12nj2l_registerasync",
            "kind": "method",
            "label": "RegisterAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 9
          },
          {
            "id": "method_1ww1s1_loginasync",
            "kind": "method",
            "label": "LoginAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 10
          },
          {
            "id": "method_urpd77_logoutasync",
            "kind": "method",
            "label": "LogoutAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 11
          },
          {
            "id": "method_yzr6ph_getprofileasync",
            "kind": "method",
            "label": "GetProfileAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 12
          },
          {
            "id": "method_1gbqw83_refreshtokenasync",
            "kind": "method",
            "label": "RefreshTokenAsync()",
            "shape": "subproc",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 13
          }
        ],
        "edges": [
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_d5t49u_onstateinvalidated",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_d5t49u_onstateinvalidated",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 8
          },
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_12nj2l_registerasync",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_12nj2l_registerasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 9
          },
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_1ww1s1_loginasync",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_1ww1s1_loginasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 10
          },
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_urpd77_logoutasync",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_urpd77_logoutasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 11
          },
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_yzr6ph_getprofileasync",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_yzr6ph_getprofileasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 12
          },
          {
            "id": "file_1ud0jop_iidentityservice_cs_contains_method_1gbqw83_refreshtokenasync",
            "from": "file_1ud0jop_iidentityservice_cs",
            "to": "method_1gbqw83_refreshtokenasync",
            "semanticLabel": "contains executable method",
            "visibleLabel": "contains",
            "relation": "calls",
            "sourcePath": "NexusReader.Application/Abstractions/Services/IIdentityService.cs",
            "sourceLine": 13
          }
        ],
        "metadata": {
          "evidencePaths": [
            "NexusReader.Application/Abstractions/Services/IIdentityService.cs"
          ],
          "warnings": [
            "Execution overview includes unresolved targets. Use validation artifacts before treating the flow as complete."
          ]
        },
        "subgraphs": []
      },
      "mermaidSource": "flowchart TD\n    file_1ud0jop_iidentityservice_cs(\"IIdentityService\")\n    method_12nj2l_registerasync[[\"RegisterAsync()\"]]\n    method_1gbqw83_refreshtokenasync[[\"RefreshTokenAsync()\"]]\n    method_1ww1s1_loginasync[[\"LoginAsync()\"]]\n    method_d5t49u_onstateinvalidated[[\"OnStateInvalidated()\"]]\n    method_urpd77_logoutasync[[\"LogoutAsync()\"]]\n    method_yzr6ph_getprofileasync[[\"GetProfileAsync()\"]]\n    file_1ud0jop_iidentityservice_cs -->|contains| method_12nj2l_registerasync\n    file_1ud0jop_iidentityservice_cs -->|contains| method_1gbqw83_refreshtokenasync\n    file_1ud0jop_iidentityservice_cs -->|contains| method_1ww1s1_loginasync\n    file_1ud0jop_iidentityservice_cs -->|contains| method_d5t49u_onstateinvalidated\n    file_1ud0jop_iidentityservice_cs -->|contains| method_urpd77_logoutasync\n    file_1ud0jop_iidentityservice_cs -->|contains| method_yzr6ph_getprofileasync",
      "warnings": []
    }
  ],
  "renderHints": {
    "preferredSurface": "three-d",
    "defaultDiagramId": "file_1ud0jop_iidentityservice_cs_execution_view",
    "controlFlowDiagramIds": [],
    "defaultControlFlowDiagramIdsBySymbolId": {}
  }
}