[versions] kotlin = "2.4.10" kotlinx-serialization = "1.8.1" kotlinx-coroutines = "1.11.0" ktor = "3.3.0" android = "8.9.2" compose-plugin = "1.8.0" androidx-compose-bom = "2025.05.00" androidx-activity-compose = "1.10.1" exoplayer = "2.17.1" media3 = "1.6.1" koog = "1.1.1" litert-google = "3" [libraries] kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" } android-material3 = { module = "androidx.compose.material3:material3" } androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "androidx-compose-bom" } exoplayer = { module = "com.google.android.exoplayer:exoplayer", version.ref = "exoplayer" } media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" } # LiteRT-LM (Google) — локальный LLM (Gemma 4 E2B, .litertlm) на телефоне. # КMP-обёртка pw.binom.litert:litert-google (git.binom.pw/subochev/litert-kmp): # универсальный контракт (LiteLlm/LiteRequest — RAW-инференс, владелец истории — # потребитель) + google-бэкенд над официальным litertlm:0.16.1 (транзитивно). litert-google = { module = "pw.binom.litert:litert-google", version.ref = "litert-google" } # Универсальный контракт (LiteLlm/LiteRequest и др.) — типы импортируются # приложением напрямую; в litert-google он runtime-only, поэтому явный. litert-api = { module = "pw.binom.litert:litert-api", version.ref = "litert-google" } # Koog (JetBrains) — LLM-клиент (OpenAI-совместимый) # Модели/типы (OpenAIModels, LLModel) входят в prompt-executor-openai-client; # отдельный артефакт prompt-executor-openai-model существует только до 0.4.1. koog-openai-client = { module = "ai.koog:prompt-executor-openai-client", version.ref = "koog" } # KoogHttpClient.Factory провайдер на OkHttp (OkHttp уже есть в app-phone) koog-http-client-okhttp = { module = "ai.koog:http-client-okhttp", version.ref = "koog" } # Ktor client (HTTP) ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" } ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" } ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" } [plugins] android-application = { id = "com.android.application", version.ref = "android" } android-library = { id = "com.android.library", version.ref = "android" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }