@file:OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class) import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.sqldelight) } kotlin { jvmToolchain(21) jvm { binaries { executable { mainClass.set("pw.binom.agentik.standalone.MainKt") } } } sourceSets { commonMain.dependencies { implementation(project(":proto")) implementation(project(":server")) // Commons implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.serialization.json) implementation(libs.kotlinx.datetime) // litert-kmp: контракт (commonMain) api(libs.litert.api) // SQLDelight runtime (commonMain) api(libs.sqldelight.runtime) api(libs.sqldelight.coroutines) } jvmMain.dependencies { // litert-openai: JVM-реализация implementation(libs.litert.openai) // litert-google: встроенный LiteRT-LM движок, нужен только на runtime runtimeOnly(libs.litert.google) // SQLDelight JDBC driver (JVM) implementation(libs.sqldelight.sqlite.driver) // Ktor server (для :server facade + a2aServer) implementation(libs.ktor.server.core) implementation(libs.ktor.server.sse) implementation(libs.ktor.server.netty) implementation(libs.ktor.server.content.negotiation) implementation(libs.ktor.serialization.kotlinx.json) // Транспортные фасады implementation(libs.agui.server) implementation(libs.a2a.server) } commonTest.dependencies { implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlin.test) } jvmTest.dependencies { implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.serialization.json) implementation(libs.kotlin.test) // Ktor test engine для smoke-тестов HTTP implementation(libs.ktor.server.test.host) } } } sqldelight { databases { create("AgentikDatabase") { packageName.set("pw.binom.agentik.standalone.persistence.sqlite") srcDirs.setFrom("src/jvmMain/sqldelight") } } }