{
  "schema": "auriondocs.agent-graph/v1",
  "repository": "HueByte/EchoHub",
  "commit": "40aea9a04b2b4bd3a2e431cdd1cf4e1bfa11c343",
  "grouping": "communities",
  "stats": {
    "symbols": 201,
    "files": 128,
    "edges": 655,
    "subsystems": 23
  },
  "subsystems": [
    {
      "label": "src/EchoHub.Client/Services · AppOrchestrator",
      "symbols": 37
    },
    {
      "label": "src/EchoHub.Client/UI · MainWindow",
      "symbols": 22
    },
    {
      "label": "src/EchoHub.Core/DTOs · ApiClient",
      "symbols": 19
    },
    {
      "label": "src/EchoHub.Server · User",
      "symbols": 19
    },
    {
      "label": "src/EchoHub.Core/DTOs · ChannelService",
      "symbols": 13
    },
    {
      "label": "src/EchoHub.Server · Program",
      "symbols": 13
    },
    {
      "label": "src/EchoHub.Core/Contracts · ChannelDto",
      "symbols": 9
    },
    {
      "label": "src/EchoHub.Server · ServerDirectoryService",
      "symbols": 7
    },
    {
      "label": "src/EchoHub.Client/UI · Channel",
      "symbols": 6
    },
    {
      "label": "src/EchoHub.Client/UI · UserStatus",
      "symbols": 6
    },
    {
      "label": "src/EchoHub.Core/DTOs · ChannelsController",
      "symbols": 6
    },
    {
      "label": "src/EchoHub.Core/Models",
      "symbols": 6
    },
    {
      "label": "src/EchoHub.Client/Services · UpdateBackupService",
      "symbols": 5
    },
    {
      "label": "src/EchoHub.Client/Themes",
      "symbols": 5
    },
    {
      "label": "src/EchoHub.Server · ServerLogsStreamService",
      "symbols": 5
    },
    {
      "label": "src/EchoHub.Server · ChatService",
      "symbols": 4
    },
    {
      "label": "src/EchoHub.Client/Services · PickerOutcome",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Core/Contracts · IMessageEncryptionService",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Core/DTOs · UserDataExportDto",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Server · ServerStatsReportService",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Server.Irc",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Tests/Irc",
      "symbols": 3
    },
    {
      "label": "src/EchoHub.Core/DTOs",
      "symbols": 1
    }
  ],
  "symbols": [
    {
      "id": "src/EchoHub.Client/AppOrchestrator.cs::AppOrchestrator",
      "name": "AppOrchestrator",
      "kind": "class",
      "file": "src/EchoHub.Client/AppOrchestrator.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.093,
      "inDegree": 3,
      "outDegree": 54,
      "doc": "Code/src/EchoHub.Client/AppOrchestrator.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Commands/CommandHandler.cs::CommandHandler",
        "src/EchoHub.Client/Config/ClientConfig.cs::AccountPreset",
        "src/EchoHub.Client/Config/ClientConfig.cs::ClientConfig",
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer",
        "src/EchoHub.Client/Config/ConfigManager.cs::ConfigManager",
        "src/EchoHub.Client/Services/AsyncRunner.cs::AsyncRunner",
        "src/EchoHub.Client/Services/AudioPlaybackService.cs::AudioPlaybackService",
        "src/EchoHub.Client/Services/AvatarHelper.cs::AvatarHelper",
        "src/EchoHub.Client/Services/ConnectionManager.cs::ConnectResult",
        "src/EchoHub.Client/Services/ConnectionManager.cs::ConnectionManager",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::ChannelPasswordRequiredException",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::JoinOutcome",
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::NativeFolderPicker",
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::PickerOutcome",
        "src/EchoHub.Client/Services/NotificationSoundService.cs::NotificationSoundService",
        "src/EchoHub.Client/Services/OutgoingAttachment.cs::OutgoingAttachment",
        "src/EchoHub.Client/Services/UpdateBackupService.cs::UpdateBackupService",
        "src/EchoHub.Client/Services/UpdateChecker.cs::UpdateChecker",
        "src/EchoHub.Client/Services/UserSession.cs::UserSession",
        "src/EchoHub.Client/Themes/Theme.cs::Theme",
        "src/EchoHub.Client/Themes/ThemeManager.cs::ThemeManager",
        "src/EchoHub.Client/UI/Chat/ChatMessageManager.cs::ChatMessageManager",
        "src/EchoHub.Client/UI/Dialogs/AudioPlayerDialog.cs::AudioPlayerDialog",
        "src/EchoHub.Client/UI/Dialogs/ChannelPasswordDialog.cs::ChannelPasswordDialog",
        "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialog",
        "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialogResult",
        "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs::CreateChannelDialog",
        "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs::ProfileEditDialog",
        "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs::ProfileAction",
        "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs::ProfileViewDialog",
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchDialog",
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResultType",
        "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs::StatusDialog",
        "src/EchoHub.Client/UI/MainWindow.cs::MainWindow",
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Constants/MessageConventions.cs::MessageConventions",
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::RekeyChannelRequest",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UpdateProfileRequest",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto",
        "src/EchoHub.Core/Services/AsciiBannerService.cs::AsciiBannerService",
        "src/EchoHub.Core/Services/FileValidationHelper.cs::FileValidationHelper",
        "src/EchoHub.Core/Services/ImageToAsciiService.cs::ImageToAsciiService"
      ]
    },
    {
      "id": "src/EchoHub.Client/Commands/CommandHandler.cs::CommandHandler",
      "name": "CommandHandler",
      "kind": "class",
      "file": "src/EchoHub.Client/Commands/CommandHandler.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": null,
      "inDegree": 1,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/Commands/CommandHandler.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Commands/CommandHandler.cs::CommandResult",
        "src/EchoHub.Client/Themes/Theme.cs::Theme",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/Commands/CommandHandler.cs::CommandResult",
      "name": "CommandResult",
      "kind": "record",
      "file": "src/EchoHub.Client/Commands/CommandHandler.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.101,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Commands/CommandHandler.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Client/Config/ClientConfig.cs::AccountPreset",
      "name": "AccountPreset",
      "kind": "class",
      "file": "src/EchoHub.Client/Config/ClientConfig.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.231,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Config/ClientConfig.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Config/ClientConfig.cs::ClientConfig",
      "name": "ClientConfig",
      "kind": "class",
      "file": "src/EchoHub.Client/Config/ClientConfig.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.331,
      "inDegree": 4,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Client/Config/ClientConfig.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Config/ClientConfig.cs::AccountPreset",
        "src/EchoHub.Client/Config/ClientConfig.cs::NotificationConfig",
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer"
      ]
    },
    {
      "id": "src/EchoHub.Client/Config/ClientConfig.cs::NotificationConfig",
      "name": "NotificationConfig",
      "kind": "class",
      "file": "src/EchoHub.Client/Config/ClientConfig.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.231,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Config/ClientConfig.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer",
      "name": "SavedServer",
      "kind": "class",
      "file": "src/EchoHub.Client/Config/ClientConfig.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.384,
      "inDegree": 6,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/Config/ClientConfig.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/RoomKeyProtector.cs::RoomKeyProtector",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken"
      ]
    },
    {
      "id": "src/EchoHub.Client/Config/ConfigManager.cs::ConfigManager",
      "name": "ConfigManager",
      "kind": "class",
      "file": "src/EchoHub.Client/Config/ConfigManager.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.477,
      "inDegree": 4,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/Config/ConfigManager.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Config/ClientConfig.cs::ClientConfig",
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer"
      ]
    },
    {
      "id": "src/EchoHub.Client/Program.cs::Program",
      "name": "Program",
      "kind": "file",
      "file": "src/EchoHub.Client/Program.cs",
      "subsystem": "src/EchoHub.Client/Themes",
      "complexity": 0.245,
      "inDegree": 0,
      "outDegree": 8,
      "doc": "Code/src/EchoHub.Client/Program.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/AppOrchestrator.cs::AppOrchestrator",
        "src/EchoHub.Client/Config/ConfigManager.cs::ConfigManager",
        "src/EchoHub.Client/Services/PathSetup.cs::PathSetup",
        "src/EchoHub.Client/Services/UpdateBackupService.cs::UpdateBackupService",
        "src/EchoHub.Client/Themes/Theme.cs::Theme",
        "src/EchoHub.Client/Themes/ThemeManager.cs::ThemeManager",
        "src/EchoHub.Client/UI/MainWindow.cs::MainWindow",
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/ApiClient.cs::ApiClient",
      "name": "ApiClient",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/ApiClient.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 3,
      "outDegree": 29,
      "doc": "Code/src/EchoHub.Client/Services/ApiClient.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/EchoHubConnection.cs::EchoHubConnection",
        "src/EchoHub.Client/Services/OutgoingAttachment.cs::OutgoingAttachment",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::DeleteAccountRequest",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginRequest",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginResponse",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::RefreshRequest",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::RegisterRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelMetaDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::CreateChannelRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::RekeyChannelRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::SendUrlRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::UpdateTopicRequest",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::PaginatedResponse",
        "src/EchoHub.Core/DTOs/InviteDtos.cs::CreateInviteRequest",
        "src/EchoHub.Core/DTOs/InviteDtos.cs::InviteDto",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::AssignRoleRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::BanRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::KickRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::MuteRequest",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::AvatarUploadResponse",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UpdateProfileRequest",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/DTOs/ServerDtos.cs::EncryptionKeyResponse",
        "src/EchoHub.Core/DTOs/ServerDtos.cs::ServerStatusDto",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/AsyncRunner.cs::AsyncRunner",
      "name": "AsyncRunner",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/AsyncRunner.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.299,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/AsyncRunner.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/AudioPlaybackService.cs::AudioPlaybackService",
      "name": "AudioPlaybackService",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/AudioPlaybackService.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.519,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/AudioPlaybackService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/AvatarHelper.cs::AvatarHelper",
      "name": "AvatarHelper",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/AvatarHelper.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.294,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/AvatarHelper.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/ApiClient.cs::ApiClient"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/ClientEncryptionService.cs::ClientEncryptionService",
      "name": "ClientEncryptionService",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/ClientEncryptionService.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.542,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/ClientEncryptionService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/ClipboardFiles.cs::ClipboardFiles",
      "name": "ClipboardFiles",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/ClipboardFiles.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.493,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/ClipboardFiles.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/ClipboardImage.cs::ClipboardImage",
      "name": "ClipboardImage",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/ClipboardImage.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.62,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/ClipboardImage.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/ConnectionManager.cs::ConnectResult",
      "name": "ConnectResult",
      "kind": "record",
      "file": "src/EchoHub.Client/Services/ConnectionManager.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.167,
      "inDegree": 2,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/Services/ConnectionManager.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/AppOrchestrator.cs::AppOrchestrator",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginResponse",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/ConnectionManager.cs::ConnectionManager",
      "name": "ConnectionManager",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/ConnectionManager.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.77,
      "inDegree": 1,
      "outDegree": 22,
      "doc": "Code/src/EchoHub.Client/Services/ConnectionManager.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/AppOrchestrator.cs::AppOrchestrator",
        "src/EchoHub.Client/Config/ClientConfig.cs::ClientConfig",
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer",
        "src/EchoHub.Client/Config/ConfigManager.cs::ConfigManager",
        "src/EchoHub.Client/Services/ApiClient.cs::ApiClient",
        "src/EchoHub.Client/Services/ClientEncryptionService.cs::ClientEncryptionService",
        "src/EchoHub.Client/Services/ConnectionManager.cs::ConnectResult",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::ChannelPasswordRequiredException",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::EchoHubConnection",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::JoinOutcome",
        "src/EchoHub.Client/Services/RoomKeyStore.cs::RoomKeyStore",
        "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialogResult",
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginResponse",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/EchoHubConnection.cs::ChannelPasswordRequiredException",
      "name": "ChannelPasswordRequiredException",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/EchoHubConnection.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.275,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/EchoHubConnection.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/EchoHubConnection.cs::EchoHubConnection",
      "name": "EchoHubConnection",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/EchoHubConnection.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.652,
      "inDegree": 2,
      "outDegree": 16,
      "doc": "Code/src/EchoHub.Client/Services/EchoHubConnection.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/ApiClient.cs::ApiClient",
        "src/EchoHub.Client/Services/ClientEncryptionService.cs::ClientEncryptionService",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::ChannelPasswordRequiredException",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::JoinOutcome",
        "src/EchoHub.Client/Services/EchoHubConnection.cs::RoomLockedException",
        "src/EchoHub.Client/Services/RoomKeyStore.cs::RoomKeyStore",
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Contracts/IEchoHubClient.cs::IEchoHubClient",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::JoinChannelResult",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/EchoHubConnection.cs::JoinOutcome",
      "name": "JoinOutcome",
      "kind": "record",
      "file": "src/EchoHub.Client/Services/EchoHubConnection.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.234,
      "inDegree": 3,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/EchoHubConnection.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/EchoHubConnection.cs::RoomLockedException",
      "name": "RoomLockedException",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/EchoHubConnection.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.264,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/EchoHubConnection.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/NativeFolderPicker.cs::FolderPickResult",
      "name": "FolderPickResult",
      "kind": "record",
      "file": "src/EchoHub.Client/Services/NativeFolderPicker.cs",
      "subsystem": "src/EchoHub.Client/Services · PickerOutcome",
      "complexity": 0.093,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/NativeFolderPicker.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::PickerOutcome"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/NativeFolderPicker.cs::NativeFolderPicker",
      "name": "NativeFolderPicker",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/NativeFolderPicker.cs",
      "subsystem": "src/EchoHub.Client/Services · PickerOutcome",
      "complexity": 0.408,
      "inDegree": 1,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/Services/NativeFolderPicker.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::FolderPickResult",
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::PickerOutcome"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/NativeFolderPicker.cs::PickerOutcome",
      "name": "PickerOutcome",
      "kind": "enum",
      "file": "src/EchoHub.Client/Services/NativeFolderPicker.cs",
      "subsystem": "src/EchoHub.Client/Services · PickerOutcome",
      "complexity": 0.026,
      "inDegree": 3,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/NativeFolderPicker.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/NativeFolderPicker.cs::FolderPickResult"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/NotificationSoundService.cs::NotificationSoundService",
      "name": "NotificationSoundService",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/NotificationSoundService.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.501,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/NotificationSoundService.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Config/ClientConfig.cs::NotificationConfig"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/OutgoingAttachment.cs::OutgoingAttachment",
      "name": "OutgoingAttachment",
      "kind": "record",
      "file": "src/EchoHub.Client/Services/OutgoingAttachment.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.169,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/OutgoingAttachment.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/PathSetup.cs::PathSetup",
      "name": "PathSetup",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/PathSetup.cs",
      "subsystem": "src/EchoHub.Client/Themes",
      "complexity": 0.345,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/PathSetup.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/User.cs::User"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/RoomKeyProtector.cs::RoomKeyProtector",
      "name": "RoomKeyProtector",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/RoomKeyProtector.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.472,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/RoomKeyProtector.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/RoomKeyStore.cs::RoomKeyStore",
      "name": "RoomKeyStore",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/RoomKeyStore.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.62,
      "inDegree": 2,
      "outDegree": 6,
      "doc": "Code/src/EchoHub.Client/Services/RoomKeyStore.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Config/ClientConfig.cs::ClientConfig",
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer",
        "src/EchoHub.Client/Config/ConfigManager.cs::ConfigManager",
        "src/EchoHub.Client/Services/RoomKeyProtector.cs::RoomKeyProtector",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/UpdateBackupService.cs::BackupInfo",
      "name": "BackupInfo",
      "kind": "record",
      "file": "src/EchoHub.Client/Services/UpdateBackupService.cs",
      "subsystem": "src/EchoHub.Client/Services · UpdateBackupService",
      "complexity": 0.101,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Services/UpdateBackupService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Services/UpdateBackupService.cs::BackupJsonContext",
      "name": "BackupJsonContext",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/UpdateBackupService.cs",
      "subsystem": "src/EchoHub.Client/Services · UpdateBackupService",
      "complexity": 0.158,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/UpdateBackupService.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/UpdateBackupService.cs::BackupInfo"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/UpdateBackupService.cs::UpdateBackupService",
      "name": "UpdateBackupService",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/UpdateBackupService.cs",
      "subsystem": "src/EchoHub.Client/Services · UpdateBackupService",
      "complexity": 0.535,
      "inDegree": 4,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Client/Services/UpdateBackupService.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/UpdateBackupService.cs::BackupInfo",
        "src/EchoHub.Client/Services/UpdateBackupService.cs::BackupJsonContext",
        "src/EchoHub.Client/Services/UpdateChecker.cs::UpdateChecker"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/UpdateChecker.cs::UpdateChecker",
      "name": "UpdateChecker",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/UpdateChecker.cs",
      "subsystem": "src/EchoHub.Client/Services · UpdateBackupService",
      "complexity": 0.554,
      "inDegree": 2,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Client/Services/UpdateChecker.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/UpdateBackupService.cs::UpdateBackupService",
        "src/EchoHub.Client/UI/Dialogs/UpdateConfirmDialog.cs::UpdateConfirmDialog",
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Client/Services/UserSession.cs::UserSession",
      "name": "UserSession",
      "kind": "class",
      "file": "src/EchoHub.Client/Services/UserSession.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.244,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Services/UserSession.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/Themes/Theme.cs::Theme",
      "name": "Theme",
      "kind": "class",
      "file": "src/EchoHub.Client/Themes/Theme.cs",
      "subsystem": "src/EchoHub.Client/Themes",
      "complexity": 0.379,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/Themes/Theme.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Themes/Theme.cs::ThemeColors"
      ]
    },
    {
      "id": "src/EchoHub.Client/Themes/Theme.cs::ThemeColors",
      "name": "ThemeColors",
      "kind": "class",
      "file": "src/EchoHub.Client/Themes/Theme.cs",
      "subsystem": "src/EchoHub.Client/Themes",
      "complexity": 0.252,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/Themes/Theme.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/Themes/ThemeManager.cs::ThemeManager",
      "name": "ThemeManager",
      "kind": "class",
      "file": "src/EchoHub.Client/Themes/ThemeManager.cs",
      "subsystem": "src/EchoHub.Client/Themes",
      "complexity": null,
      "inDegree": 3,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/Themes/ThemeManager.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Themes/Theme.cs::Theme",
        "src/EchoHub.Client/Themes/Theme.cs::ThemeColors"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatColors.cs::ChatColors",
      "name": "ChatColors",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/ChatColors.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.582,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatColors.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentAction",
      "name": "AttachmentAction",
      "kind": "enum",
      "file": "src/EchoHub.Client/UI/Chat/ChatLine.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.026,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatLine.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentActionSpan",
      "name": "AttachmentActionSpan",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Chat/ChatLine.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.301,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatLine.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentAction"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine",
      "name": "ChatLine",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/ChatLine.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.635,
      "inDegree": 5,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatLine.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatColors.cs::ChatColors",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentActionSpan",
        "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatListSource.cs::ChatListSource",
      "name": "ChatListSource",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/ChatListSource.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.678,
      "inDegree": 2,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatListSource.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatColors.cs::ChatColors",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatMessageManager.cs::ChatMessageManager",
      "name": "ChatMessageManager",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/ChatMessageManager.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": null,
      "inDegree": 2,
      "outDegree": 15,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatMessageManager.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatColors.cs::ChatColors",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentAction",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentActionSpan",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine",
        "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment",
        "src/EchoHub.Client/UI/Helpers/EmojiHelper.cs::EmojiHelper",
        "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs::HexColorHelper",
        "src/EchoHub.Client/UI/Helpers/NickColorHelper.cs::NickColorHelper",
        "src/EchoHub.Core/Constants/MessageConventions.cs::MessageConventions",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ReplyRefDto",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment",
      "name": "ChatSegment",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Chat/ChatSegment.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.093,
      "inDegree": 5,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Chat/ChatSegment.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/RenderHelpers.cs::RenderHelpers",
      "name": "RenderHelpers",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/RenderHelpers.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.304,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Chat/RenderHelpers.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Chat/WelcomeBanner.cs::WelcomeBanner",
      "name": "WelcomeBanner",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Chat/WelcomeBanner.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.358,
      "inDegree": 1,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/UI/Chat/WelcomeBanner.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine",
        "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/AudioPlayerDialog.cs::AudioPlayerDialog",
      "name": "AudioPlayerDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/AudioPlayerDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.425,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/AudioPlayerDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/AudioPlaybackService.cs::AudioPlaybackService"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ChannelPasswordDialog.cs::ChannelPasswordDialog",
      "name": "ChannelPasswordDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/ChannelPasswordDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.265,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ChannelPasswordDialog.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialog",
      "name": "ConnectDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.292,
      "inDegree": 1,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Config/ClientConfig.cs::SavedServer",
        "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialogResult",
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs::ConnectDialogResult",
      "name": "ConnectDialogResult",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.138,
      "inDegree": 3,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ConnectDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs::CreateChannelDialog",
      "name": "CreateChannelDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.22,
      "inDegree": 1,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs::CreateChannelResult",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs::CreateChannelResult",
      "name": "CreateChannelResult",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.108,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/CreateChannelDialog.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs::ProfileEditDialog",
      "name": "ProfileEditDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.301,
      "inDegree": 1,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs::ProfileEditResult",
        "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs::HexColorHelper"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs::ProfileEditResult",
      "name": "ProfileEditResult",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.123,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ProfileEditDialog.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs::ProfileAction",
      "name": "ProfileAction",
      "kind": "enum",
      "file": "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.026,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs::ProfileViewDialog",
      "name": "ProfileViewDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.398,
      "inDegree": 1,
      "outDegree": 8,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine",
        "src/EchoHub.Client/UI/Chat/ChatListSource.cs::ChatListSource",
        "src/EchoHub.Client/UI/Dialogs/ProfileViewDialog.cs::ProfileAction",
        "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs::HexColorHelper",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchDialog",
      "name": "SearchDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.295,
      "inDegree": 1,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/SearchDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResult",
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResultType",
        "src/EchoHub.Client/UI/ListSources/SearchListSource.cs::SearchListSource",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResult",
      "name": "SearchResult",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.101,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/SearchDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResultType"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResultType",
      "name": "SearchResultType",
      "kind": "enum",
      "file": "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.026,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/SearchDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs::StatusDialog",
      "name": "StatusDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.25,
      "inDegree": 1,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/StatusDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs::StatusDialogResult",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs::StatusDialogResult",
      "name": "StatusDialogResult",
      "kind": "record",
      "file": "src/EchoHub.Client/UI/Dialogs/StatusDialog.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.093,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/StatusDialog.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/Dialogs/UpdateConfirmDialog.cs::UpdateConfirmDialog",
      "name": "UpdateConfirmDialog",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Dialogs/UpdateConfirmDialog.cs",
      "subsystem": "src/EchoHub.Client/Services · UpdateBackupService",
      "complexity": 0.21,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Dialogs/UpdateConfirmDialog.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Helpers/DroppedFileParser.cs::DroppedFileParser",
      "name": "DroppedFileParser",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Helpers/DroppedFileParser.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.481,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Helpers/DroppedFileParser.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Helpers/EmojiHelper.cs::EmojiHelper",
      "name": "EmojiHelper",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Helpers/EmojiHelper.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.376,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Helpers/EmojiHelper.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs::HexColorHelper",
      "name": "HexColorHelper",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.32,
      "inDegree": 4,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Helpers/HexColorHelper.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/Helpers/NickColorHelper.cs::NickColorHelper",
      "name": "NickColorHelper",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/Helpers/NickColorHelper.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.33,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/Helpers/NickColorHelper.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/ListSources/ChannelListSource.cs::ChannelListSource",
      "name": "ChannelListSource",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/ListSources/ChannelListSource.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.642,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Client/UI/ListSources/ChannelListSource.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/RenderHelpers.cs::RenderHelpers"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/ListSources/SearchListSource.cs::SearchListSource",
      "name": "SearchListSource",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/ListSources/SearchListSource.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.581,
      "inDegree": 1,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Client/UI/ListSources/SearchListSource.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/UI/Chat/RenderHelpers.cs::RenderHelpers",
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResult",
        "src/EchoHub.Client/UI/Dialogs/SearchDialog.cs::SearchResultType",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Client/UI/ListSources/UserListSource.cs::UserListSource",
      "name": "UserListSource",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/ListSources/UserListSource.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.592,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Client/UI/ListSources/UserListSource.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Client/UI/MainWindow.cs::MainWindow",
      "name": "MainWindow",
      "kind": "class",
      "file": "src/EchoHub.Client/UI/MainWindow.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.132,
      "inDegree": 2,
      "outDegree": 25,
      "doc": "Code/src/EchoHub.Client/UI/MainWindow.cs.md",
      "dependsOn": [
        "src/EchoHub.Client/Services/ClipboardFiles.cs::ClipboardFiles",
        "src/EchoHub.Client/Services/ClipboardImage.cs::ClipboardImage",
        "src/EchoHub.Client/Services/UpdateBackupService.cs::UpdateBackupService",
        "src/EchoHub.Client/Themes/ThemeManager.cs::ThemeManager",
        "src/EchoHub.Client/UI/Chat/ChatColors.cs::ChatColors",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::AttachmentAction",
        "src/EchoHub.Client/UI/Chat/ChatLine.cs::ChatLine",
        "src/EchoHub.Client/UI/Chat/ChatListSource.cs::ChatListSource",
        "src/EchoHub.Client/UI/Chat/ChatMessageManager.cs::ChatMessageManager",
        "src/EchoHub.Client/UI/Chat/ChatSegment.cs::ChatSegment",
        "src/EchoHub.Client/UI/Chat/WelcomeBanner.cs::WelcomeBanner",
        "src/EchoHub.Client/UI/Helpers/DroppedFileParser.cs::DroppedFileParser",
        "src/EchoHub.Client/UI/Helpers/EmojiHelper.cs::EmojiHelper",
        "src/EchoHub.Client/UI/Helpers/HexColorHelper.cs::HexColorHelper",
        "src/EchoHub.Client/UI/Helpers/NickColorHelper.cs::NickColorHelper",
        "src/EchoHub.Client/UI/ListSources/ChannelListSource.cs::ChannelListSource",
        "src/EchoHub.Client/UI/ListSources/UserListSource.cs::UserListSource",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
      "name": "HubConstants",
      "kind": "class",
      "file": "src/EchoHub.Core/Constants/HubConstants.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.48,
      "inDegree": 16,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Constants/HubConstants.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Constants/MessageConventions.cs::MessageConventions",
      "name": "MessageConventions",
      "kind": "class",
      "file": "src/EchoHub.Core/Constants/MessageConventions.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.349,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Constants/MessageConventions.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
      "name": "ValidationConstants",
      "kind": "class",
      "file": "src/EchoHub.Core/Constants/ValidationConstants.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.431,
      "inDegree": 6,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Constants/ValidationConstants.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Contracts/IChannelService.cs::ChannelListItem",
      "name": "ChannelListItem",
      "kind": "record",
      "file": "src/EchoHub.Core/Contracts/IChannelService.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.116,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Contracts/IChannelService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
      "name": "IChannelService",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IChannelService.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.653,
      "inDegree": 9,
      "outDegree": 7,
      "doc": "Code/src/EchoHub.Core/Contracts/IChannelService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChannelService.cs::ChannelListItem",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelMetaDto",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::PaginatedResponse",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
      "name": "IChatBroadcaster",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IChatBroadcaster.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.602,
      "inDegree": 7,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/Contracts/IChatBroadcaster.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
      "name": "IChatService",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IChatService.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.625,
      "inDegree": 8,
      "outDegree": 5,
      "doc": "Code/src/EchoHub.Core/Contracts/IChatService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/Contracts/IEchoHubClient.cs::IEchoHubClient",
      "name": "IEchoHubClient",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IEchoHubClient.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.595,
      "inDegree": 4,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/Contracts/IEchoHubClient.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
      "name": "IMessageEncryptionService",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs",
      "subsystem": "src/EchoHub.Core/Contracts · IMessageEncryptionService",
      "complexity": 0.39,
      "inDegree": 11,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Contracts/IMessageEncryptionService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
      "name": "IUserService",
      "kind": "interface",
      "file": "src/EchoHub.Core/Contracts/IUserService.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.488,
      "inDegree": 7,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Core/Contracts/IUserService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/AccountDtos.cs::DeleteAccountRequest",
      "name": "DeleteAccountRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AccountDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.286,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/AccountDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedAttachmentDto",
      "name": "ExportedAttachmentDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AccountDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · UserDataExportDto",
      "complexity": 0.123,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/AccountDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedMessageDto",
      "name": "ExportedMessageDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AccountDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · UserDataExportDto",
      "complexity": 0.116,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/AccountDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/AccountDtos.cs::UserDataExportDto",
      "name": "UserDataExportDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AccountDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · UserDataExportDto",
      "complexity": 0.116,
      "inDegree": 1,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/DTOs/AccountDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedAttachmentDto",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedMessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginRequest",
      "name": "LoginRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AuthDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.093,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/AuthDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginResponse",
      "name": "LoginResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AuthDtos.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.123,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/AuthDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/AuthDtos.cs::RefreshRequest",
      "name": "RefreshRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AuthDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/AuthDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/AuthDtos.cs::RegisterRequest",
      "name": "RegisterRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/AuthDtos.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.108,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/AuthDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
      "name": "AttachmentDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.176,
      "inDegree": 5,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
      "name": "ChannelCryptoDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.293,
      "inDegree": 5,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
      "name": "ChannelDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.146,
      "inDegree": 16,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelMetaDto",
      "name": "ChannelMetaDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.146,
      "inDegree": 4,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::CreateChannelRequest",
      "name": "CreateChannelRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.123,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
      "name": "EmbedDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.123,
      "inDegree": 6,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::JoinChannelResult",
      "name": "JoinChannelResult",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.123,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
      "name": "MessageDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.153,
      "inDegree": 20,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ReplyRefDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::RekeyChannelRequest",
      "name": "RekeyChannelRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.182,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::ReplyRefDto",
      "name": "ReplyRefDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.234,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::SendMessageRequest",
      "name": "SendMessageRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs",
      "complexity": 0.093,
      "inDegree": 0,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::SendUrlRequest",
      "name": "SendUrlRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::UpdateTopicRequest",
      "name": "UpdateTopicRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ChatDtos.cs::UserDto",
      "name": "UserDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ChatDtos.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.123,
      "inDegree": 0,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ChatDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::ApiResponse",
      "name": "ApiResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.108,
      "inDegree": 0,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
      "name": "ChannelError",
      "kind": "enum",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.026,
      "inDegree": 5,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
      "name": "ChannelOperationResult",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.188,
      "inDegree": 5,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
      "name": "ErrorResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.093,
      "inDegree": 7,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::PaginatedResponse",
      "name": "PaginatedResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.108,
      "inDegree": 4,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
      "name": "UserError",
      "kind": "enum",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.026,
      "inDegree": 5,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
      "name": "UserOperationResult",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/CommonDtos.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.188,
      "inDegree": 5,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Core/DTOs/CommonDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/User.cs::User"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/InviteDtos.cs::CreateInviteRequest",
      "name": "CreateInviteRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/InviteDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.093,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/InviteDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/InviteDtos.cs::InviteDto",
      "name": "InviteDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/InviteDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.123,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/InviteDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ModerationDtos.cs::AssignRoleRequest",
      "name": "AssignRoleRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ModerationDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.093,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ModerationDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ModerationDtos.cs::BanRequest",
      "name": "BanRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ModerationDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ModerationDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ModerationDtos.cs::KickRequest",
      "name": "KickRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ModerationDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ModerationDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ModerationDtos.cs::MuteRequest",
      "name": "MuteRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ModerationDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.093,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ModerationDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ProfileDtos.cs::AvatarUploadResponse",
      "name": "AvatarUploadResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ProfileDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ProfileDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ProfileDtos.cs::UpdateProfileRequest",
      "name": "UpdateProfileRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ProfileDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.101,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ProfileDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ProfileDtos.cs::UpdateStatusRequest",
      "name": "UpdateStatusRequest",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ProfileDtos.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.093,
      "inDegree": 0,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/DTOs/ProfileDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
      "name": "UserPresenceDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ProfileDtos.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.131,
      "inDegree": 12,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Core/DTOs/ProfileDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
      "name": "UserProfileDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ProfileDtos.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.161,
      "inDegree": 9,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Core/DTOs/ProfileDtos.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/DTOs/ServerDtos.cs::EncryptionKeyResponse",
      "name": "EncryptionKeyResponse",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ServerDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.086,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ServerDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/DTOs/ServerDtos.cs::ServerStatusDto",
      "name": "ServerStatusDto",
      "kind": "record",
      "file": "src/EchoHub.Core/DTOs/ServerDtos.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.116,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/DTOs/ServerDtos.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/Attachment.cs::Attachment",
      "name": "Attachment",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/Attachment.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.467,
      "inDegree": 6,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Core/Models/Attachment.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
      "name": "AttachmentKind",
      "kind": "enum",
      "file": "src/EchoHub.Core/Models/AttachmentKind.cs",
      "subsystem": "src/EchoHub.Client/UI · MainWindow",
      "complexity": 0.226,
      "inDegree": 9,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/AttachmentKind.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/Channel.cs::Channel",
      "name": "Channel",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/Channel.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.465,
      "inDegree": 29,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/Models/Channel.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Message.cs::Message"
      ]
    },
    {
      "id": "src/EchoHub.Core/Models/ChannelMembership.cs::ChannelMembership",
      "name": "ChannelMembership",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/ChannelMembership.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.231,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/ChannelMembership.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
      "name": "InviteCode",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/InviteCode.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.339,
      "inDegree": 7,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/InviteCode.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/Message.cs::Message",
      "name": "Message",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/Message.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.509,
      "inDegree": 21,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Core/Models/Message.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/MessageType.cs::MessageType",
        "src/EchoHub.Server/Setup/DataMigrationService.cs::DataMigrationService"
      ]
    },
    {
      "id": "src/EchoHub.Core/Models/MessageType.cs::MessageType",
      "name": "MessageType",
      "kind": "enum",
      "file": "src/EchoHub.Core/Models/MessageType.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.026,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/MessageType.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
      "name": "RefreshToken",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/RefreshToken.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.427,
      "inDegree": 9,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/Models/RefreshToken.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/User.cs::User"
      ]
    },
    {
      "id": "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
      "name": "ServerRole",
      "kind": "enum",
      "file": "src/EchoHub.Core/Models/ServerRole.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.026,
      "inDegree": 19,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/ServerRole.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/ServerStatsReport.cs::ServerStatsReport",
      "name": "ServerStatsReport",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/ServerStatsReport.cs",
      "subsystem": "src/EchoHub.Server · ServerStatsReportService",
      "complexity": 0.48,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/ServerStatsReport.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Models/User.cs::User",
      "name": "User",
      "kind": "class",
      "file": "src/EchoHub.Core/Models/User.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.458,
      "inDegree": 20,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Core/Models/User.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
      "name": "UserStatus",
      "kind": "enum",
      "file": "src/EchoHub.Core/Models/UserStatus.cs",
      "subsystem": "src/EchoHub.Client/UI · UserStatus",
      "complexity": 0.026,
      "inDegree": 21,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Models/UserStatus.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto",
      "name": "RoomCrypto",
      "kind": "class",
      "file": "src/EchoHub.Core/Security/RoomCrypto.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.679,
      "inDegree": 7,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Security/RoomCrypto.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Services/AsciiBannerService.cs::AsciiBannerService",
      "name": "AsciiBannerService",
      "kind": "class",
      "file": "src/EchoHub.Core/Services/AsciiBannerService.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.411,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Services/AsciiBannerService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Services/FileValidationHelper.cs::FileValidationHelper",
      "name": "FileValidationHelper",
      "kind": "class",
      "file": "src/EchoHub.Core/Services/FileValidationHelper.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.473,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Core/Services/FileValidationHelper.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Core/Services/ImageToAsciiService.cs::ImageToAsciiService",
      "name": "ImageToAsciiService",
      "kind": "class",
      "file": "src/EchoHub.Core/Services/ImageToAsciiService.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.476,
      "inDegree": 4,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Core/Services/ImageToAsciiService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcBroadcaster.cs::IrcBroadcaster",
      "name": "IrcBroadcaster",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcBroadcaster.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.712,
      "inDegree": 1,
      "outDegree": 9,
      "doc": "Code/src/EchoHub.Server.Irc/IrcBroadcaster.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Server.Irc/IrcGatewayService.cs::IrcGatewayService",
        "src/EchoHub.Server.Irc/IrcMessageFormatter.cs::IrcMessageFormatter"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcClientConnection.cs::IrcClientConnection",
      "name": "IrcClientConnection",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcClientConnection.cs",
      "subsystem": "src/EchoHub.Tests/Irc",
      "complexity": 0.6,
      "inDegree": 3,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server.Irc/IrcClientConnection.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcCommandHandler.cs::IrcCommandHandler",
      "name": "IrcCommandHandler",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcCommandHandler.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.131,
      "inDegree": 1,
      "outDegree": 16,
      "doc": "Code/src/EchoHub.Server.Irc/IrcCommandHandler.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
        "src/EchoHub.Server.Irc/IrcClientConnection.cs::IrcClientConnection",
        "src/EchoHub.Server.Irc/IrcMessage.cs::IrcMessage",
        "src/EchoHub.Server.Irc/IrcMessageFormatter.cs::IrcMessageFormatter",
        "src/EchoHub.Server.Irc/IrcNumericReply.cs::IrcNumericReply",
        "src/EchoHub.Server.Irc/IrcOptions.cs::IrcOptions"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcGatewayService.cs::IrcGatewayService",
      "name": "IrcGatewayService",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcGatewayService.cs",
      "subsystem": "src/EchoHub.Server.Irc",
      "complexity": 0.586,
      "inDegree": 2,
      "outDegree": 7,
      "doc": "Code/src/EchoHub.Server.Irc/IrcGatewayService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Server.Irc/IrcClientConnection.cs::IrcClientConnection",
        "src/EchoHub.Server.Irc/IrcCommandHandler.cs::IrcCommandHandler",
        "src/EchoHub.Server.Irc/IrcOptions.cs::IrcOptions"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcMessage.cs::IrcMessage",
      "name": "IrcMessage",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcMessage.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.421,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server.Irc/IrcMessage.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcMessageFormatter.cs::IrcMessageFormatter",
      "name": "IrcMessageFormatter",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcMessageFormatter.cs",
      "subsystem": "src/EchoHub.Client/Services · AppOrchestrator",
      "complexity": 0.485,
      "inDegree": 2,
      "outDegree": 6,
      "doc": "Code/src/EchoHub.Server.Irc/IrcMessageFormatter.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/MessageConventions.cs::MessageConventions",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ReplyRefDto",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcNumericReply.cs::IrcNumericReply",
      "name": "IrcNumericReply",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcNumericReply.cs",
      "subsystem": "src/EchoHub.Client/UI · Channel",
      "complexity": 0.458,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server.Irc/IrcNumericReply.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Channel.cs::Channel"
      ]
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcOptions.cs::IrcOptions",
      "name": "IrcOptions",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcOptions.cs",
      "subsystem": "src/EchoHub.Server.Irc",
      "complexity": 0.382,
      "inDegree": 3,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server.Irc/IrcOptions.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server.Irc/IrcServiceExtensions.cs::IrcServiceExtensions",
      "name": "IrcServiceExtensions",
      "kind": "class",
      "file": "src/EchoHub.Server.Irc/IrcServiceExtensions.cs",
      "subsystem": "src/EchoHub.Server.Irc",
      "complexity": 0.232,
      "inDegree": 0,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Server.Irc/IrcServiceExtensions.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Server.Irc/IrcBroadcaster.cs::IrcBroadcaster",
        "src/EchoHub.Server.Irc/IrcGatewayService.cs::IrcGatewayService",
        "src/EchoHub.Server.Irc/IrcOptions.cs::IrcOptions"
      ]
    },
    {
      "id": "src/EchoHub.Server/Auth/JwtTokenService.cs::JwtTokenService",
      "name": "JwtTokenService",
      "kind": "class",
      "file": "src/EchoHub.Server/Auth/JwtTokenService.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.467,
      "inDegree": 2,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Auth/JwtTokenService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/User.cs::User"
      ]
    },
    {
      "id": "src/EchoHub.Server/Config/ServerLogsOptions.cs::ServerLogsOptions",
      "name": "ServerLogsOptions",
      "kind": "class",
      "file": "src/EchoHub.Server/Config/ServerLogsOptions.cs",
      "subsystem": "src/EchoHub.Server · ServerLogsStreamService",
      "complexity": 0.409,
      "inDegree": 4,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Config/ServerLogsOptions.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole"
      ]
    },
    {
      "id": "src/EchoHub.Server/Config/SpamOptions.cs::SpamOptions",
      "name": "SpamOptions",
      "kind": "class",
      "file": "src/EchoHub.Server/Config/SpamOptions.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.432,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Config/SpamOptions.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/MuteExpirationService.cs::MuteExpirationService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Config/StatsOptions.cs::StatsOptions",
      "name": "StatsOptions",
      "kind": "class",
      "file": "src/EchoHub.Server/Config/StatsOptions.cs",
      "subsystem": "src/EchoHub.Server · ServerStatsReportService",
      "complexity": 0.301,
      "inDegree": 2,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Config/StatsOptions.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Config/UploadLimits.cs::UploadLimits",
      "name": "UploadLimits",
      "kind": "class",
      "file": "src/EchoHub.Server/Config/UploadLimits.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.492,
      "inDegree": 3,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Config/UploadLimits.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/AuthController.cs::AuthController",
      "name": "AuthController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/AuthController.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.493,
      "inDegree": 0,
      "outDegree": 13,
      "doc": "Code/src/EchoHub.Server/Controllers/AuthController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginRequest",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::LoginResponse",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::RefreshRequest",
        "src/EchoHub.Core/DTOs/AuthDtos.cs::RegisterRequest",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Server/Auth/JwtTokenService.cs::JwtTokenService",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/ChannelsController.cs::ChannelsController",
      "name": "ChannelsController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/ChannelsController.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelsController",
      "complexity": 0.146,
      "inDegree": 0,
      "outDegree": 25,
      "doc": "Code/src/EchoHub.Server/Controllers/ChannelsController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::CreateChannelRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::RekeyChannelRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::SendUrlRequest",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::UpdateTopicRequest",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto",
        "src/EchoHub.Core/Services/FileValidationHelper.cs::FileValidationHelper",
        "src/EchoHub.Core/Services/ImageToAsciiService.cs::ImageToAsciiService",
        "src/EchoHub.Server/Config/UploadLimits.cs::UploadLimits",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/FilesController.cs::FilesController",
      "name": "FilesController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/FilesController.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.381,
      "inDegree": 0,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Controllers/FilesController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/InvitesController.cs::InvitesController",
      "name": "InvitesController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/InvitesController.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.518,
      "inDegree": 0,
      "outDegree": 7,
      "doc": "Code/src/EchoHub.Server/Controllers/InvitesController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/DTOs/InviteDtos.cs::CreateInviteRequest",
        "src/EchoHub.Core/DTOs/InviteDtos.cs::InviteDto",
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/ModerationController.cs::ModerationController",
      "name": "ModerationController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/ModerationController.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.729,
      "inDegree": 0,
      "outDegree": 16,
      "doc": "Code/src/EchoHub.Server/Controllers/ModerationController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::AssignRoleRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::BanRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::KickRequest",
        "src/EchoHub.Core/DTOs/ModerationDtos.cs::MuteRequest",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/ServerController.cs::ServerController",
      "name": "ServerController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/ServerController.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.455,
      "inDegree": 0,
      "outDegree": 7,
      "doc": "Code/src/EchoHub.Server/Controllers/ServerController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/DTOs/ServerDtos.cs::EncryptionKeyResponse",
        "src/EchoHub.Core/DTOs/ServerDtos.cs::ServerStatusDto",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/DirectoryClaimStore.cs::DirectoryClaimStore"
      ]
    },
    {
      "id": "src/EchoHub.Server/Controllers/UsersController.cs::UsersController",
      "name": "UsersController",
      "kind": "class",
      "file": "src/EchoHub.Server/Controllers/UsersController.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.617,
      "inDegree": 1,
      "outDegree": 21,
      "doc": "Code/src/EchoHub.Server/Controllers/UsersController.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::DeleteAccountRequest",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedAttachmentDto",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::ExportedMessageDto",
        "src/EchoHub.Core/DTOs/AccountDtos.cs::UserDataExportDto",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ErrorResponse",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::AvatarUploadResponse",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UpdateProfileRequest",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Services/FileValidationHelper.cs::FileValidationHelper",
        "src/EchoHub.Core/Services/ImageToAsciiService.cs::ImageToAsciiService",
        "src/EchoHub.Server/Config/UploadLimits.cs::UploadLimits",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/UserService.cs::UserService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
      "name": "EchoHubDbContext",
      "kind": "class",
      "file": "src/EchoHub.Server/Data/EchoHubDbContext.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.448,
      "inDegree": 14,
      "outDegree": 8,
      "doc": "Code/src/EchoHub.Server/Data/EchoHubDbContext.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/ChannelMembership.cs::ChannelMembership",
        "src/EchoHub.Core/Models/InviteCode.cs::InviteCode",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/RefreshToken.cs::RefreshToken",
        "src/EchoHub.Core/Models/ServerStatsReport.cs::ServerStatsReport",
        "src/EchoHub.Core/Models/User.cs::User"
      ]
    },
    {
      "id": "src/EchoHub.Server/Hubs/ChatHub.cs::ChatHub",
      "name": "ChatHub",
      "kind": "class",
      "file": "src/EchoHub.Server/Hubs/ChatHub.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.597,
      "inDegree": 3,
      "outDegree": 11,
      "doc": "Code/src/EchoHub.Server/Hubs/ChatHub.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IEchoHubClient.cs::IEchoHubClient",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::JoinChannelResult",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Server/Program.cs::Program",
      "name": "Program",
      "kind": "file",
      "file": "src/EchoHub.Server/Program.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.189,
      "inDegree": 0,
      "outDegree": 34,
      "doc": "Code/src/EchoHub.Server/Program.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/Services/ImageToAsciiService.cs::ImageToAsciiService",
        "src/EchoHub.Server/Auth/JwtTokenService.cs::JwtTokenService",
        "src/EchoHub.Server/Config/ServerLogsOptions.cs::ServerLogsOptions",
        "src/EchoHub.Server/Config/SpamOptions.cs::SpamOptions",
        "src/EchoHub.Server/Config/StatsOptions.cs::StatsOptions",
        "src/EchoHub.Server/Config/UploadLimits.cs::UploadLimits",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Hubs/ChatHub.cs::ChatHub",
        "src/EchoHub.Server/Services/ChannelService.cs::ChannelService",
        "src/EchoHub.Server/Services/ChatService.cs::ChatService",
        "src/EchoHub.Server/Services/DirectoryClaimStore.cs::DirectoryClaimStore",
        "src/EchoHub.Server/Services/FileCleanupService.cs::FileCleanupService",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService",
        "src/EchoHub.Server/Services/LinkEmbedService.cs::LinkEmbedService",
        "src/EchoHub.Server/Services/MessageEncryptionService.cs::MessageEncryptionService",
        "src/EchoHub.Server/Services/MuteExpirationService.cs::MuteExpirationService",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::ServerDirectoryService",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::ServerLogsService",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsSink.cs::ServerLogsSink",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsStreamService.cs::ServerLogsStreamService",
        "src/EchoHub.Server/Services/SignalRBroadcaster.cs::SignalRBroadcaster",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamGuard",
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector",
        "src/EchoHub.Server/Services/Stats/ServerStatsReportService.cs::ServerStatsReportService",
        "src/EchoHub.Server/Services/UserService.cs::UserService",
        "src/EchoHub.Server/Setup/DatabaseSetup.cs::DatabaseSetup",
        "src/EchoHub.Server/Setup/FirstRunSetup.cs::FirstRunSetup"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ChannelService.cs::ChannelService",
      "name": "ChannelService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ChannelService.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.116,
      "inDegree": 3,
      "outDegree": 18,
      "doc": "Code/src/EchoHub.Server/Services/ChannelService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::ChannelListItem",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelMetaDto",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::PaginatedResponse",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/ChannelMembership.cs::ChannelMembership",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::ServerLogsService",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamGuard",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdictKind"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ChatService.cs::ChatService",
      "name": "ChatService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ChatService.cs",
      "subsystem": "src/EchoHub.Server · ChatService",
      "complexity": 0.161,
      "inDegree": 2,
      "outDegree": 29,
      "doc": "Code/src/EchoHub.Server/Services/ChatService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::AttachmentDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ReplyRefDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus",
        "src/EchoHub.Core/Security/RoomCrypto.cs::RoomCrypto",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/ChannelService.cs::ChannelService",
        "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService",
        "src/EchoHub.Server/Services/LinkEmbedService.cs::LinkEmbedService",
        "src/EchoHub.Server/Services/MuteExpirationService.cs::MuteExpirationService",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::ServerLogsService",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamGuard",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdictKind",
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/DirectoryClaimStore.cs::DirectoryClaimStore",
      "name": "DirectoryClaimStore",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/DirectoryClaimStore.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.6,
      "inDegree": 3,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/DirectoryClaimStore.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/DirectoryClaimStore.cs::RegistrationStatus"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/DirectoryClaimStore.cs::RegistrationStatus",
      "name": "RegistrationStatus",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/DirectoryClaimStore.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.116,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/DirectoryClaimStore.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/FileCleanupService.cs::FileCleanupService",
      "name": "FileCleanupService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/FileCleanupService.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.407,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/FileCleanupService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/FileStorageService.cs::FileStorageService",
      "name": "FileStorageService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/FileStorageService.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.451,
      "inDegree": 6,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/FileStorageService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/LinkEmbedService.cs::LinkEmbedService",
      "name": "LinkEmbedService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/LinkEmbedService.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.714,
      "inDegree": 2,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Services/LinkEmbedService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/MessageEncryptionService.cs::MessageEncryptionService",
      "name": "MessageEncryptionService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/MessageEncryptionService.cs",
      "subsystem": "src/EchoHub.Core/Contracts · IMessageEncryptionService",
      "complexity": 0.518,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/MessageEncryptionService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/MuteExpirationService.cs::MuteExpirationService",
      "name": "MuteExpirationService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/MuteExpirationService.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.425,
      "inDegree": 3,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/MuteExpirationService.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
      "name": "PresenceTracker",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/PresenceTracker.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.608,
      "inDegree": 8,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/PresenceTracker.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::DirectoryProtocol",
      "name": "DirectoryProtocol",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.179,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::DirectoryRegistrationErrors",
      "name": "DirectoryRegistrationErrors",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.348,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::ErrorDetail",
      "name": "ErrorDetail",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.226,
      "inDegree": 2,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::Response"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::RegisterServerDto",
      "name": "RegisterServerDto",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.122,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::RegisterServerResult",
      "name": "RegisterServerResult",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.085,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::Response",
      "name": "Response",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.1,
      "inDegree": 2,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::ErrorDetail"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerDirectoryService.cs::ServerDirectoryService",
      "name": "ServerDirectoryService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerDirectoryService.cs",
      "subsystem": "src/EchoHub.Server · ServerDirectoryService",
      "complexity": 0.108,
      "inDegree": 1,
      "outDegree": 10,
      "doc": "Code/src/EchoHub.Server/Services/ServerDirectoryService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/Message.cs::Message",
        "src/EchoHub.Server/Services/DirectoryClaimStore.cs::DirectoryClaimStore",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::DirectoryProtocol",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::DirectoryRegistrationErrors",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::ErrorDetail",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::RegisterServerDto",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::RegisterServerResult",
        "src/EchoHub.Server/Services/ServerDirectoryService.cs::Response"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::LogBacklogEntry",
      "name": "LogBacklogEntry",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs",
      "subsystem": "src/EchoHub.Server · ServerLogsStreamService",
      "complexity": 0.093,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::ServerLogsService",
      "name": "ServerLogsService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs",
      "subsystem": "src/EchoHub.Server · ServerLogsStreamService",
      "complexity": 0.64,
      "inDegree": 4,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Server/Config/ServerLogsOptions.cs::ServerLogsOptions",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::LogBacklogEntry"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerLogs/ServerLogsSink.cs::ServerLogsSink",
      "name": "ServerLogsSink",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerLogs/ServerLogsSink.cs",
      "subsystem": "src/EchoHub.Server · ServerLogsStreamService",
      "complexity": 0.333,
      "inDegree": 2,
      "outDegree": 3,
      "doc": "Code/src/EchoHub.Server/Services/ServerLogs/ServerLogsSink.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Server/Config/ServerLogsOptions.cs::ServerLogsOptions",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsStreamService.cs::ServerLogsStreamService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/ServerLogs/ServerLogsStreamService.cs::ServerLogsStreamService",
      "name": "ServerLogsStreamService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/ServerLogs/ServerLogsStreamService.cs",
      "subsystem": "src/EchoHub.Server · ServerLogsStreamService",
      "complexity": 0.504,
      "inDegree": 2,
      "outDegree": 9,
      "doc": "Code/src/EchoHub.Server/Services/ServerLogs/ServerLogsStreamService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/Contracts/IEchoHubClient.cs::IEchoHubClient",
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Server/Config/ServerLogsOptions.cs::ServerLogsOptions",
        "src/EchoHub.Server/Hubs/ChatHub.cs::ChatHub",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsService.cs::ServerLogsService",
        "src/EchoHub.Server/Services/ServerLogs/ServerLogsSink.cs::ServerLogsSink"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/SignalRBroadcaster.cs::SignalRBroadcaster",
      "name": "SignalRBroadcaster",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/SignalRBroadcaster.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.658,
      "inDegree": 1,
      "outDegree": 7,
      "doc": "Code/src/EchoHub.Server/Services/SignalRBroadcaster.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatBroadcaster.cs::IChatBroadcaster",
        "src/EchoHub.Core/Contracts/IEchoHubClient.cs::IEchoHubClient",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Server/Hubs/ChatHub.cs::ChatHub",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/SpamGuard.cs::SpamGuard",
      "name": "SpamGuard",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/SpamGuard.cs",
      "subsystem": "src/EchoHub.Server · ChatService",
      "complexity": 0.656,
      "inDegree": 3,
      "outDegree": 6,
      "doc": "Code/src/EchoHub.Server/Services/SpamGuard.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Server/Config/SpamOptions.cs::SpamOptions",
        "src/EchoHub.Server/Services/ChannelService.cs::ChannelService",
        "src/EchoHub.Server/Services/ChatService.cs::ChatService",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdict",
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdictKind"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdict",
      "name": "SpamVerdict",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/SpamGuard.cs",
      "subsystem": "src/EchoHub.Server · ChatService",
      "complexity": 0.122,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/SpamGuard.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdictKind"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/SpamGuard.cs::SpamVerdictKind",
      "name": "SpamVerdictKind",
      "kind": "enum",
      "file": "src/EchoHub.Server/Services/SpamGuard.cs",
      "subsystem": "src/EchoHub.Server · ChatService",
      "complexity": 0.026,
      "inDegree": 4,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Services/SpamGuard.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector",
      "name": "ServerStatsCollector",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.372,
      "inDegree": 5,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::StatsCounters"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::StatsCounters",
      "name": "StatsCounters",
      "kind": "record",
      "file": "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ApiClient",
      "complexity": 0.116,
      "inDegree": 1,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs.md",
      "dependsOn": [
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/Stats/ServerStatsReportService.cs::ServerStatsReportService",
      "name": "ServerStatsReportService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/Stats/ServerStatsReportService.cs",
      "subsystem": "src/EchoHub.Server · ServerStatsReportService",
      "complexity": 0.414,
      "inDegree": 1,
      "outDegree": 5,
      "doc": "Code/src/EchoHub.Server/Services/Stats/ServerStatsReportService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Models/ServerStatsReport.cs::ServerStatsReport",
        "src/EchoHub.Server/Config/StatsOptions.cs::StatsOptions",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Services/PresenceTracker.cs::PresenceTracker",
        "src/EchoHub.Server/Services/Stats/ServerStatsCollector.cs::ServerStatsCollector"
      ]
    },
    {
      "id": "src/EchoHub.Server/Services/UserService.cs::UserService",
      "name": "UserService",
      "kind": "class",
      "file": "src/EchoHub.Server/Services/UserService.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.698,
      "inDegree": 2,
      "outDegree": 9,
      "doc": "Code/src/EchoHub.Server/Services/UserService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/ValidationConstants.cs::ValidationConstants",
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/User.cs::User",
        "src/EchoHub.Server/Controllers/UsersController.cs::UsersController",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext"
      ]
    },
    {
      "id": "src/EchoHub.Server/Setup/DataMigrationService.cs::DataMigrationService",
      "name": "DataMigrationService",
      "kind": "class",
      "file": "src/EchoHub.Server/Setup/DataMigrationService.cs",
      "subsystem": "src/EchoHub.Core/Models",
      "complexity": 0.578,
      "inDegree": 2,
      "outDegree": 8,
      "doc": "Code/src/EchoHub.Server/Setup/DataMigrationService.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::EmbedDto",
        "src/EchoHub.Core/Models/Attachment.cs::Attachment",
        "src/EchoHub.Core/Models/AttachmentKind.cs::AttachmentKind",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/MessageType.cs::MessageType",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext"
      ]
    },
    {
      "id": "src/EchoHub.Server/Setup/DatabaseSetup.cs::DatabaseSetup",
      "name": "DatabaseSetup",
      "kind": "class",
      "file": "src/EchoHub.Server/Setup/DatabaseSetup.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.334,
      "inDegree": 1,
      "outDegree": 4,
      "doc": "Code/src/EchoHub.Server/Setup/DatabaseSetup.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Constants/HubConstants.cs::HubConstants",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Server/Data/EchoHubDbContext.cs::EchoHubDbContext",
        "src/EchoHub.Server/Setup/DataMigrationService.cs::DataMigrationService"
      ]
    },
    {
      "id": "src/EchoHub.Server/Setup/FirstRunSetup.cs::FirstRunSetup",
      "name": "FirstRunSetup",
      "kind": "class",
      "file": "src/EchoHub.Server/Setup/FirstRunSetup.cs",
      "subsystem": "src/EchoHub.Server · Program",
      "complexity": 0.371,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Server/Setup/FirstRunSetup.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::FakeChannelService",
      "name": "FakeChannelService",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Core/DTOs · ChannelService",
      "complexity": 0.754,
      "inDegree": 0,
      "outDegree": 8,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChannelService.cs::ChannelListItem",
        "src/EchoHub.Core/Contracts/IChannelService.cs::IChannelService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelCryptoDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelMetaDto",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::ChannelOperationResult",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::PaginatedResponse"
      ]
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::FakeChatService",
      "name": "FakeChatService",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Core/Contracts · ChannelDto",
      "complexity": 0.695,
      "inDegree": 0,
      "outDegree": 6,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IChatService.cs::IChatService",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::ChannelDto",
        "src/EchoHub.Core/DTOs/ChatDtos.cs::MessageDto",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserPresenceDto",
        "src/EchoHub.Core/Models/Channel.cs::Channel",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::FakeEncryptionService",
      "name": "FakeEncryptionService",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Core/Contracts · IMessageEncryptionService",
      "complexity": 0.423,
      "inDegree": 0,
      "outDegree": 1,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IMessageEncryptionService.cs::IMessageEncryptionService"
      ]
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::FakeUserService",
      "name": "FakeUserService",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Server · User",
      "complexity": 0.634,
      "inDegree": 0,
      "outDegree": 6,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": [
        "src/EchoHub.Core/Contracts/IUserService.cs::IUserService",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserError",
        "src/EchoHub.Core/DTOs/CommonDtos.cs::UserOperationResult",
        "src/EchoHub.Core/DTOs/ProfileDtos.cs::UserProfileDto",
        "src/EchoHub.Core/Models/ServerRole.cs::ServerRole",
        "src/EchoHub.Core/Models/UserStatus.cs::UserStatus"
      ]
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::TestDuplexStream",
      "name": "TestDuplexStream",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Tests/Irc",
      "complexity": 0.617,
      "inDegree": 1,
      "outDegree": 0,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": []
    },
    {
      "id": "src/EchoHub.Tests/Irc/TestHelpers.cs::TestIrcConnectionFactory",
      "name": "TestIrcConnectionFactory",
      "kind": "class",
      "file": "src/EchoHub.Tests/Irc/TestHelpers.cs",
      "subsystem": "src/EchoHub.Tests/Irc",
      "complexity": 0.395,
      "inDegree": 0,
      "outDegree": 2,
      "doc": "Code/src/EchoHub.Tests/Irc/TestHelpers.cs.md",
      "dependsOn": [
        "src/EchoHub.Server.Irc/IrcClientConnection.cs::IrcClientConnection",
        "src/EchoHub.Tests/Irc/TestHelpers.cs::TestDuplexStream"
      ]
    }
  ]
}