cad4d5fc7c
Убрана зависимость pw.binom.agui:server из проекта — AGUI больше не нужен (см. Memory #3675; agentik переходит на свой протокол :proto и HTTP-фасад :server). Чистка: - standalone/build.gradle.kts: implementation(libs.agui.server) → удалено - gradle/libs.versions.toml: [versions] agui + agui-api/agui-client/ agui-server entries → удалены - settings.gradle.kts: убран 'AG-UI' из комментария к Nexus-репо - proto/build.gradle.kts: комментарий 'Зеркалит набор AG-UI api' → 'Полный набор KMP-целей' - proto/src/.../Agent.kt: KDoc '(замена AG-UI)' → удалено - settings.gradle.kts: то же - docs/ARCHITECTURE.md: переписан (описывал старую AGUI-centric архитектуру с AbstractAgent/SessionStore/ AgentEngine — ничего этого в коде уже нет; теперь отражает текущее состояние: :proto + :server + :standalone + LiteLlm + MCP + SqliteStores) - NATIVE-COMPATIBILITY.md: пункт 10 'agui-server KMP-готовность' → отменён (см. -); убран из 'Жёсткие блокеры' В коде не осталось ни одного обращения к AGUI. После чистки в репо больше нет ни одной зависимости от pw.binom.agui.*. Проверка: ./gradlew :server:assemble (9/9 KMP-целей) + :standalone:jvmTest 44/44 (ChatAgent 15, LlmConfig 6, McpConfig 8, McpRegistry 4, Persistence 11) — зелёные.
93 lines
3.3 KiB
Kotlin
93 lines
3.3 KiB
Kotlin
@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)
|
|
|
|
// 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)
|
|
// Используем CIO вместо Netty — он KMP (jvm + linuxX64/ios/...), нам нужен
|
|
// для будущей native-сборки; на JVM работает идентично для нашего сценария.
|
|
implementation(libs.ktor.server.core)
|
|
implementation(libs.ktor.server.sse)
|
|
implementation(libs.ktor.server.cio)
|
|
implementation(libs.ktor.server.content.negotiation)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
|
|
// Транспортные фасады (A2A остаётся заготовкой; на v1 не подключается в Main.kt —
|
|
// см. docs/ARCHITECTURE.md §3).
|
|
implementation(libs.a2a.server)
|
|
|
|
// MCP (Model Context Protocol) клиент — подключение внешних/внутренних MCP-серверов
|
|
implementation(libs.mcp.sdk.client)
|
|
implementation(libs.ktor.client.core)
|
|
implementation(libs.ktor.client.cio)
|
|
implementation(libs.ktor.client.content.negotiation)
|
|
implementation(libs.ktor.serialization.kotlinx.json)
|
|
}
|
|
|
|
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")
|
|
}
|
|
}
|
|
}
|