0fdc12695e
ci / JVM build + tests (push) Failing after 1m57s
- README.md в каждом подмодуле: для библиотек — описание проблемы, подключение через maven-central/caffeine, версии в gradle/libs.versions.toml. Для запускаемых модулей — команды запуска + переменные среды с дефолтами. - Корневой README.md переписан как навигационный хаб: что это, где клиенты, где серверы, как собрать, как опубликовать. - build.gradle.kts: per-module POM-description через единую карту в rootProject.extra (порядок важен — нужно ДО apply плагина KMP, поэтому beforeEvaluate в subprojects). - .gitea/workflows/ci.yml (новый): build + jvmTest + shadowJar на PR/push main. - .gitea/workflows/release.yml (обновлён): публикует библиотеки в caffeine Nexus + собирает 3 fatjar'а и крепит их к release как бинарные ассеты.
1.8 KiB
1.8 KiB
:storage-inmemory — pw.binom.agentik.storage.inmemory
In-memory реализация всех 4 сторов из :storage-core.
Без платформенного IO, KMP-таргеты полностью. Тред-безопасна через Mutex.
Какую проблему решает
- Тесты — мгновенный setup/teardown, нет файловой системы, нет JDBC, детерминированное состояние.
- Embedded-сценарии (Android ART, iOS) где SQLDelight native-драйвер пока недоступен или избыточен.
- Отладка — можно в рантайме дампить
MessageStore.listByConversation()и смотреть что попало в working memory без sqlite3 CLI.
Семантика полностью совпадает с :storage-sqlite: один и тот же контракт
:storage-core, одинаковые AutoCloseable, одинаковая тред-безопасность.
Подключение
commonMain {
implementation("pw.binom.agentik:storage-inmemory:$version")
}
// Использование
val bundle = InMemoryStorageBundle(clock = Clock.System)
val conv = bundle.conversations.upsert(Conversation(id = "test", title = "demo", createdAt = now))
bundle.messages.append(message = UserMessage("hi"), conversationId = conv.id, workingMemoryIndex = 0)
Где смотреть версии
versionизgradle.properties(version=0.1.0)- релизы:
https://git.binom.pw/subochev/agentik/releases
Сборка
./gradlew :storage-inmemory:build
KMP-таргеты — полный набор. Зависимости — только :storage-core.