Complete Kotlin Multiplatform migration with iOS parity: - All 13 modules converted to KMP (commonMain + androidMain + iosMain) - 100% feature parity: auth, chat, SSE streaming, conversations, settings, agents, files, voice input, TTS, OAuth, file picker, clipboard paste - Platform consolidation: DataStore path, SessionCacheCleaner, bubble layouts, ChatInput core, MIME types, mention parsing, TextField styling, FilterChip components extracted to commonMain - iOS crash reporting via Kotlin/Native exception hook - YAML parsing via custom pure-Kotlin parser (zero dependencies) - Dependency health: Timber removed, kaml replaced, FuzzyWuzzy removed, security-crypto stabilized - CONTRIBUTING.md - Gradle configuration cache enabled
34 lines
1 KiB
Text
34 lines
1 KiB
Text
plugins {
|
|
id("librechat.kmp.library")
|
|
id("librechat.kmp.koin")
|
|
id("librechat.kotlin.serialization")
|
|
}
|
|
|
|
android {
|
|
namespace = "com.librechat.android.core.network"
|
|
}
|
|
|
|
kotlin {
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
implementation(project(":core:model"))
|
|
implementation(project(":core:common"))
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.content.negotiation)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
implementation(libs.ktor.client.logging)
|
|
implementation(libs.kotlinx.serialization.json)
|
|
implementation(libs.kermit)
|
|
}
|
|
androidMain.dependencies {
|
|
implementation(libs.ktor.client.okhttp)
|
|
}
|
|
iosMain.dependencies {
|
|
implementation(libs.ktor.client.darwin)
|
|
}
|
|
named("androidUnitTest").dependencies {
|
|
implementation(libs.koin.test)
|
|
implementation(libs.ktor.client.mock)
|
|
}
|
|
}
|
|
}
|