plugins { alias(libs.plugins.kotlin.multiplatform) } kotlin { jvmToolchain(21) // Чистый KMP commonMain — модели и интерфейсы памяти, без платформенного IO. // Зеркалит набор :proto / :server. Конкретные бэкенды (MD, SQLite+vector) // живут в отдельных модулях и могут таргетить только нужное подмножество. jvm() macosX64() macosArm64() iosX64() iosArm64() iosSimulatorArm64() linuxX64() linuxArm64() mingwX64() sourceSets { commonMain.dependencies { api(libs.kotlinx.coroutines.core) // `TextEmbeddingExecutor` (suspend-обёртка над `TextEmbeddingExtractor`) // живёт в :memory-api с 2026-09-21 — раньше был `EmbeddingProvider` в // :memory-vector, но он JVM-only и блокировал :memory-md-vector от // нативных таргетов. text-embedding-kmp:api собирается под jvm+android+ // linux/macos/ios/mingw (мы добавили нативные цели в их :api модуле), // так что KMP-потребители могут зависеть от него напрямую. api(libs.text.embedding.api) } commonTest.dependencies { implementation(kotlin("test")) } } }