8f616f359f
ci / JVM build + tests (pull_request) Failing after 54s
Every subproject now has README.md:
- 3 runnable modules (:standalone, :agentik-cli, :agentik-tui):
quickstart, env table, parameters, known limits
- 11 library modules: what it is, which problem solves, how to
wire it in, where versions live
Root README.md is the navigation hub (Quickstart, Modules table,
publish + CI/CD notes).
Also: ci.yml prunes the :memory-vector -x excludes now that
text-embedding-kmp artifacts are published to caffeine.
518 tests green.
Verified publish pipeline: :proto:publish to caffeine produces
pom.module + per-target klibs + sources for all 9 KMP targets.
🤖 Generated with [opencode]
56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# `:storage-inmemory` — in-memory реализация `:storage-core` (KMP, jvm + native)
|
||
|
||
## Что это
|
||
|
||
In-memory реализация `MessageStore / WorkingMemoryStore /
|
||
ConversationStore / ReflectionStore`. Все структуры держит в
|
||
`ConcurrentHashMap` + `MutableList`, фолотится на RAM
|
||
(никаких файлов).
|
||
|
||
Решает: дешёвая тестовая среда без поднятия SQLite. Позволяет
|
||
прогонять `ChatAgentTest` за миллисекунды и держать сценарии
|
||
детерминированными.
|
||
|
||
## Где используется
|
||
|
||
- В тестах `:standalone` (`AbstractITTest`).
|
||
- В Android-имплементации (in-memory + Android-database микс).
|
||
- В любых юнит-тестах на агенте.
|
||
|
||
## Как подключить
|
||
|
||
```kotlin
|
||
commonMain.dependencies {
|
||
api("pw.binom.agentik:storage-inmemory:0.1.0")
|
||
api("pw.binom.agentik:storage-core:0.1.0")
|
||
}
|
||
|
||
val storage = InMemoryStorageSystem()
|
||
val messages: MessageStore = storage.messages
|
||
val working: WorkingMemoryStore = storage.working
|
||
```
|
||
|
||
## Версии
|
||
|
||
`gradle/libs.versions.toml` → `[versions] agentik-storage-inmemory`.
|
||
|
||
## Тесты
|
||
|
||
```
|
||
./gradlew :storage-inmemory:allTests
|
||
```
|
||
|
||
Покрывают (через общие contract-tests): round-trip, paged flow,
|
||
concurrent appends, working-memory replay, очистку.
|
||
|
||
## Чего здесь НЕТ
|
||
|
||
- Никакого persistence. Перезапуск процесса — данные пропали.
|
||
Это нормально для тестов и Android in-memory.
|
||
|
||
## Текущий статус
|
||
|
||
Используется продакшеном (в режиме тестов). Контракт-совместима
|
||
с `:storage-sqlite` 1:1 — переключение `AGENTIK_STORAGE_BACKEND=memory`
|
||
в `:standalone`.
|