294837daa0
Выносим интерфейсы и data-классы истории диалога (MessageStore / WorkingMemoryStore / ConversationStore / ReflectionStore + соответствующие sealed-иерархии MessageRecord / WorkingMemoryEntry / Content / ConversationRecord / Reflection + payload-утилиты) из :standalone в отдельный KMP-модуль :storage-core (pw.binom.agentik.storage). Цель — подготовка к Android-портированию и подключению альтернативных реализаций хранилища без затягивания всей :standalone. Дальше (commit 2/3) — :storage-inmemory и :storage-sqlite как самостоятельные модули, плюс :storage-android (deferred). Изменения: - Новый :storage-core (KMP, commonMain only, jvm + native таргеты) — 12 файлов - StorageBundle агрегатор (conversationStore + messageStore + workingMemoryStore + reflectionStore; SkillStore живёт в :skills и подключается отдельно) - 11 файлов импортов в :standalone переключены на новый пакет - SqliteReflectionStore оставлен в :standalone до commit 3 (зависит от SQLDelight AgentikDatabase, которую ещё не отвязали от :standalone) - 4 теста перенесены в :standalone/.../storage/ с обновлённым пакетом - PayloadTest переехал в :storage-core/commonTest (тестирует чистые типы) Tests: 264/264 green (179 :standalone + 6 :storage-core + прочие JVM-модули)
51 lines
2.2 KiB
Kotlin
51 lines
2.2 KiB
Kotlin
val caffeineRepo = providers.gradleProperty("caffeineRepo").getOrElse("http://192.168.76.117/repository/caffeine")
|
|
|
|
pluginManagement {
|
|
repositories {
|
|
gradlePluginPortal()
|
|
mavenCentral()
|
|
google()
|
|
}
|
|
}
|
|
|
|
dependencyResolutionManagement {
|
|
repositories {
|
|
// Сначала mavenLocal — чтобы локально опубликованные версии
|
|
// (через publishToMavenLocal) перекрывали caffeine.
|
|
mavenLocal()
|
|
mavenCentral()
|
|
google()
|
|
// Локально опубликованные snapshot-ы text-embedding-kmp (см. `~/.m2`).
|
|
// Home Nexus, репо "caffeine": pw.binom.* (A2A, ...)
|
|
maven {
|
|
name = "caffeine"
|
|
url = uri(caffeineRepo)
|
|
setAllowInsecureProtocol(true)
|
|
}
|
|
}
|
|
}
|
|
|
|
rootProject.name = "agentik"
|
|
|
|
include(":standalone")
|
|
// Собственный протокол agentik. Пока в нём пилим, потом вынесем.
|
|
include(":proto")
|
|
// Парсер скилов (YAML-frontmatter + markdown body, opencode-style).
|
|
include(":skills")
|
|
// Ktor-сервер, экспонирующий Agent по HTTP (SSE + JSON).
|
|
include(":server")
|
|
// Ktor-клиент, превращающий HTTP-фасад в `Agent`/`Conversation`.
|
|
include(":client")
|
|
// Встраиваемая долговременная память агента. `:memory-api` — интерфейсы,
|
|
// `:memory-md` — реализация на базе §-файлов (Hermes-style).
|
|
include(":memory-api")
|
|
include(":memory-md")
|
|
// Vector-бэкенд долговременной памяти поверх JVector (ANN-индекс) + SQLite
|
|
// для метаданных. JVM-only (JVector не имеет KMP-таргетов). На Android ART
|
|
// работает через Java 11 base classes (scalar fallback).
|
|
include(":memory-vector")
|
|
// Интерфейсы хранилища и разговорной истории: MessageStore / WorkingMemoryStore /
|
|
// ConversationStore / ReflectionStore + StorageBundle агрегатор. Реализации —
|
|
// в :storage-inmemory / :storage-sqlite / :storage-android (последний deferred).
|
|
include(":storage-core")
|