"""
Repository classes for database operations.
"""

from litellm.repositories.budget_repository import BudgetRepository
from litellm.repositories.config_repository import ConfigRepository
from litellm.repositories.credentials_repository import CredentialsRepository
from litellm.repositories.model_repository import ModelRepository
from litellm.repositories.object_permission_repository import (
    ObjectPermissionRepository,
)
from litellm.repositories.organization_repository import OrganizationRepository
from litellm.repositories.project_repository import ProjectRepository
from litellm.repositories.table_repositories import (
    AccessGroupRepository,
    AdaptiveRouterSessionRepository,
    AdaptiveRouterStateRepository,
    AgentsRepository,
    AuditLogRepository,
    CacheConfigRepository,
    ClaudeCodePluginRepository,
    ConfigOverridesRepository,
    DailyGuardrailMetricsRepository,
    DailyPolicyMetricsRepository,
    DailyTagSpendRepository,
    DeletedTeamRepository,
    DeletedVerificationTokenRepository,
    DeprecatedVerificationTokenRepository,
    EndUserRepository,
    GuardrailsRepository,
    HealthCheckRepository,
    InvitationLinkRepository,
    JWTKeyMappingRepository,
    ManagedFileRepository,
    ManagedObjectRepository,
    ManagedVectorStoreIndexRepository,
    ManagedVectorStoresRepository,
    MCPServerRepository,
    MCPToolsetRepository,
    MCPUserCredentialsRepository,
    MemoryRepository,
    ModelTableRepository,
    OrganizationMembershipRepository,
    PolicyAttachmentRepository,
    PolicyRepository,
    PrismaTableRepository,
    PromptRepository,
    SearchToolsRepository,
    SkillsRepository,
    SpendLogGuardrailIndexRepository,
    SpendLogsRepository,
    SpendLogToolIndexRepository,
    SSOConfigRepository,
    TagRepository,
    TeamMembershipRepository,
    ToolRepository,
    UISettingsRepository,
    UserNotificationsRepository,
    WorkflowEventRepository,
    WorkflowMessageRepository,
    WorkflowRunRepository,
)
from litellm.repositories.team_repository import TeamRepository
from litellm.repositories.user_repository import UserRepository
from litellm.repositories.verification_token_repository import (
    VerificationTokenRepository,
)

__all__ = [
    "PrismaTableRepository",
    "PolicyRepository",
    "AgentsRepository",
    "GuardrailsRepository",
    "MCPServerRepository",
    "ManagedObjectRepository",
    "OrganizationMembershipRepository",
    "SpendLogsRepository",
    "ClaudeCodePluginRepository",
    "TeamMembershipRepository",
    "EndUserRepository",
    "ManagedVectorStoresRepository",
    "MCPUserCredentialsRepository",
    "PromptRepository",
    "TagRepository",
    "InvitationLinkRepository",
    "JWTKeyMappingRepository",
    "ManagedFileRepository",
    "MemoryRepository",
    "SearchToolsRepository",
    "ConfigOverridesRepository",
    "MCPToolsetRepository",
    "ToolRepository",
    "DeletedVerificationTokenRepository",
    "WorkflowRunRepository",
    "ModelTableRepository",
    "AccessGroupRepository",
    "SSOConfigRepository",
    "UISettingsRepository",
    "DailyGuardrailMetricsRepository",
    "PolicyAttachmentRepository",
    "DeletedTeamRepository",
    "SkillsRepository",
    "CacheConfigRepository",
    "ManagedVectorStoreIndexRepository",
    "WorkflowMessageRepository",
    "DailyTagSpendRepository",
    "SpendLogToolIndexRepository",
    "SpendLogGuardrailIndexRepository",
    "UserNotificationsRepository",
    "HealthCheckRepository",
    "DeprecatedVerificationTokenRepository",
    "WorkflowEventRepository",
    "DailyPolicyMetricsRepository",
    "AdaptiveRouterStateRepository",
    "AuditLogRepository",
    "AdaptiveRouterSessionRepository",
    "BudgetRepository",
    "ConfigRepository",
    "CredentialsRepository",
    "ModelRepository",
    "ObjectPermissionRepository",
    "OrganizationRepository",
    "ProjectRepository",
    "TeamRepository",
    "UserRepository",
    "VerificationTokenRepository",
]
