89 lines
6.0 KiB
TOML
89 lines
6.0 KiB
TOML
[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" }
|