plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.sqldelight) } kotlin { jvmToolchain(21) // JVM-only: SQLDelight сейчас не имеет KMP-таргетов за пределами JVM/Android. // Если в будущем понадобится Native (iOS/macOS), придётся либо подключать // platform-native SQLDelight driver (https://github.com/cashapp/sqldelight // multiplatform module), либо использовать :storage-inmemory там. jvm() sourceSets { commonMain.dependencies { api(project(":message-store-api")) api(project(":message-log-api")) api(project(":storage-bundle")) api(project(":working-memory-api")) api(libs.sqldelight.runtime) api(libs.sqldelight.coroutines) } jvmMain.dependencies { implementation(libs.sqldelight.sqlite.driver) implementation(libs.kotlin.logging) } commonTest.dependencies { implementation(kotlin("test")) implementation(libs.kotlinx.coroutines.test) } jvmTest.dependencies { // SQLDelight JDBC driver — для тестов, которые поднимают in-memory DB implementation(libs.sqldelight.sqlite.driver) } } } sqldelight { databases { create("AgentikDatabase") { packageName.set("pw.binom.agentik.storage.sqlite") srcDirs.setFrom("src/jvmMain/sqldelight") } } }