Files
agentik-desktop/gradle/libs.versions.toml
T

89 lines
6.0 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[versions]
kotlin = "2.4.20"
kotlinx-coroutines = "1.11.0"
kotlinx-serialization = "1.11.0"
ksqlite = "0.1.4"
# Ktor — версия из agentik (там же живут `:client`-модули, engine выбирает
# потребитель; CIO — то, что agentik использует в собственных тестах).
ktor = "3.1.3"
kotlin-logging = "3.0.5"
logback = "1.5.18"
junit = "5.10.2"
# Compose Multiplatform — версия взята из assistent (`compose-multiplatform`,
# там с ней собирается клиент), совместима с Kotlin 2.4.x.
compose-multiplatform = "1.7.3"
# Обёртка над JetBrains org.intellij.markdown (GFM), живёт в корпоративном
# developerspace Nexus (см. settings.gradle.kts), не в Maven Central.
markdown = "0.51.0"
# Голос: всё опубликовано в caffeine Nexus (см. MIC-ASR-SEARCH.md).
# mic-api — поток микрофона (JVM: javax.sound.sampled), версия 1.0.0.
mic = "1.0.0"
# asr-api — интерфейс Stt (feed/partialText/finalText), движки в отдельных
# артефактах; версия 4 — та, что использует agentik-android.
asr = "4"
# VAD (Silero) — модель внутри артефакта, ничего качать не надо.
vad = "2"
[libraries]
# --- Agentik модули (composite build ../agentik, group = "pw.binom.agentik") ---
# Эти артефакты резолвятся через `includeBuild("../agentik")` в settings.gradle.kts —
# agentik публикует свои модули с group = "pw.binom.agentik", артефакт-id =
# имени Gradle-модуля. Подключаем точечно только то что реально нужно десктопу.
agentik-client = { module = "pw.binom.agentik:client" }
agentik-journal-api = { module = "pw.binom.agentik:journal-api" }
agentik-journal-ksqlite = { module = "pw.binom.agentik:journal-ksqlite" }
agentik-outbox-api = { module = "pw.binom.agentik:outbox-api" }
agentik-proto = { module = "pw.binom.agentik:proto" }
# Только для тестов: поднять настоящий HTTP/SSE-фасад `:server` поверх
# in-memory-агента и прогнать десктопный стек против живого протокола.
agentik-server = { module = "pw.binom.agentik:server" }
agentik-journal-inmemory = { module = "pw.binom.agentik:journal-inmemory" }
agentik-outbox-inmemory = { module = "pw.binom.agentik:outbox-inmemory" }
# --- Ktor client engine: нужен AgentikAgent(...) как `engineFactory`. ---
# `:client` объявляет ktor-client-core как `api`, но engine — выбор потребителя.
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
# --- Ktor server engine (только тесты): embeddedServer(CIO) для E2E. ---
ktor-server-cio = { module = "io.ktor:ktor-server-cio", version.ref = "ktor" }
# --- ksqlite (pw.binom.db) — KMP SQLite с sqlite-vec.
# Резолвится из caffeine Nexus (см. settings.gradle.kts); GMM выбирает jvm-variant.
ksqlite = { module = "pw.binom.db:ksqlite", version.ref = "ksqlite" }
# --- Kotlinx (KMP-артефакты, Gradle сам разруливает per-target variants) ---
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
# --- Логирование: kotlin-logging + logback (binding) ---
kotlin-logging = { module = "io.github.microutils:kotlin-logging", version.ref = "kotlin-logging" }
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
# --- Markdown: парсер/модель сегментов (обёртка над org.intellij.markdown) ---
markdown = { module = "ru.otpbank.ai:markdown", version.ref = "markdown" }
# --- Голос: микрофон → VAD → распознавание (всё из caffeine Nexus) ---
# mic-api публикует KMP-метаданные + `-jvm`/`-android` варианты; GMM выберет jvm.
mic-api = { module = "pw.binom.mic:mic-api", version.ref = "mic" }
# asr-api — только интерфейс `Stt`; конкретный движок подключаем отдельно.
asr-api = { module = "pw.binom.asr:asr-api", version.ref = "asr" }
# asr-vosk — Vosk: модель распаковывается из артефакта, скачивать нечего.
asr-vosk = { module = "pw.binom.asr:asr-vosk", version.ref = "asr" }
# VAD — детектор речи (Silero), модель внутри артефакта.
vad = { module = "pw.binom.voice.vad:vad", version.ref = "vad" }
# --- Тесты ---
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
[plugins]
# Kotlin Multiplatform — фундамент; конкретные цели объявляются в build.gradle.kts
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
# Compose Compiler plugin — обязателен для @Composable. Версионируется вместе
# с Kotlin; без него @Composable-лямбды ломаются (Function0 вместо Function2).
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
# Compose Multiplatform plugin — приносит `compose.material3` / `compose.ui` /
# `compose.materialIconsExtended` и desktop-инфраструктуру.
compose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }