Suggestion: Split RemoteDataRepository.kt into smaller domain-specific repositories
Category: Large functions/files
File: composeApp/src/commonMain/kotlin/com/oak/app/data/RemoteDataRepository.kt:1
RemoteDataRepository spans 2855 lines and implements DataRepository with responsibilities spanning service configuration, model management, conversation handling, tool execution, file operations, email, SMS, notifications, SSH, and MCP management. This violates the Single Responsibility Principle and makes the class difficult to navigate, test, and maintain.
Suggested action: Split the class into smaller domain-specific implementations (e.g., ServiceConfigurationRepository, ConversationRepository, ToolExecutionRepository, EmailRepository, SshRepository, McpRepository) that each handle a distinct subset of the DataRepository interface, then compose them via delegation or a common facade.
Suggestion: Split RemoteDataRepository.kt into smaller domain-specific repositories
Category: Large functions/files
File:
composeApp/src/commonMain/kotlin/com/oak/app/data/RemoteDataRepository.kt:1RemoteDataRepositoryspans 2855 lines and implementsDataRepositorywith responsibilities spanning service configuration, model management, conversation handling, tool execution, file operations, email, SMS, notifications, SSH, and MCP management. This violates the Single Responsibility Principle and makes the class difficult to navigate, test, and maintain.Suggested action: Split the class into smaller domain-specific implementations (e.g.,
ServiceConfigurationRepository,ConversationRepository,ToolExecutionRepository,EmailRepository,SshRepository,McpRepository) that each handle a distinct subset of theDataRepositoryinterface, then compose them via delegation or a common facade.