agent: связь с сервером + UI-экраны + ASR Qwen3 + settings

This commit is contained in:
2026-09-23 11:53:57 +03:00
parent d5aa844fa0
commit b923bc6196
29 changed files with 3845 additions and 32 deletions
+27 -1
View File
@@ -41,8 +41,34 @@ android {
}
dependencies {
// Ядро агента (Nexus caffeine). Тянет :proto, ktor-client-core и т.д.
// Ядро агента (Nexus caffeine). Тянет :proto, :journal-api (транзитивно в v9), ktor-client-core и т.д.
implementation(libs.agentik.client)
// journal-api объявлен отдельно, чтобы IDE/компилятор видел MessageRecord в AgentMappers
// (транзитивная зависимость в v9, но прямой импорт делаем явным).
implementation(libs.agentik.journal.api)
// InMemoryJournalStore — RAM-кэш истории для HttpChatSession. Персистентный
// кэш (SQLite) подключим отдельной задачей.
implementation(libs.agentik.journal.inmemory)
// Persistent journal-кеш через ksqlite. Подменяет InMemoryJournalStore —
// история сообщений переживает kill приложения. Начиная с journal-ksqlite:12
// конструктор `KsqliteJournalStore(path)` публичный — рефлексия и
// явная зависимость `pw.binom.db:ksqlite` больше не нужны.
implementation(libs.agentik.journal.ksqlite)
// ksqlite опубликован в Maven Central (0.1.2). Наш ConversationMetaRepository
// работает с SQLiteConnection напрямую — общая абстракция
// :journal-ksqlite (MutableJournalStore) про метаданные диалогов не знает.
// Декларируем явно, чтобы транзитивная compile-api за journal-ksqlite не
// подсунула несовместимую версию.
implementation(libs.ksqlite)
// ASR-стек: модель Qwen3-ASR на устройстве (auto-download через QwenModelProvider).
implementation(libs.asr.qwen3)
implementation(libs.mic.api)
implementation(libs.androidx.work.runtime.ktx)
// Markdown-парсер (ru.otpbank.ai:markdown) — нужно для рендеринга
// сообщений ассистента. Хостится в нашем Nexus (см. settings.gradle.kts).
implementation(libs.ru.otpbank.markdown)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.activity.compose)