f191387e99
release / Publish KMP libraries → caffeine Nexus (release) Successful in 1m18s
ksqlite 0.1.3 опубликован в Maven Central — POM/module-metadata/jar все
на месте. Поднят в шести модулях (vector-index-ksqlite, journal-ksqlite,
context-ksqlite, reflection-ksqlite, standalone, memory-md-vector);
комментарии про 0.1.2 в build.gradle.kts обновлены.
Расширение :journal-api: добавлены два count-метода (total + count after
cursor) в интерфейс JournalStore — реализованы в :journal-ksqlite /
:journal-inmemory. Над ними добавлены HTTP-endpoint'ы
GET /journal/conversations/{id}/count
GET /journal/conversations/{id}/count?after=
(объединены в один маршрут с опциональным параметром) и HTTP-клиент
HttpJournalStore.count/concount. Сервер-фасад расширен тестом
JournalRoutesCountTest (5 кейсов через embedded CIO + реальный
InMemoryJournalStore).
:server:jvmTest 10/0, :standalone:jvmTest 129/0, :journal-ksqlite:jvmTest 25/0,
:journal-inmemory:jvmTest 19/0. jvmTest агрегат 425/0/0.
52 lines
2.4 KiB
Kotlin
52 lines
2.4 KiB
Kotlin
plugins {
|
||
alias(libs.plugins.kotlin.multiplatform)
|
||
}
|
||
|
||
// :memory-md-vector — гибридное хранилище памяти:
|
||
//
|
||
// .md файлы (:memory-md, single source of truth)
|
||
// ↓ reconcile() на старте
|
||
// sqlite vector index (ksqlite + sqlite-vec vec0, derived cache)
|
||
//
|
||
// `.md` — единственный источник правды по метаданным и тексту заметок.
|
||
// Вектора — derived cache, перестраивается на старте и при `upsert`/`delete`.
|
||
//
|
||
// ANN-поиск: vector KNN (sqlite-vec MATCH) → top-50 → keyword rerank
|
||
// через `MdMemoryFormat.keywordScore` (vector 0.7 + keyword 0.3).
|
||
//
|
||
// Цели сборки — KMP: jvm() + linuxX64() + mingwX64(). До 2026-09-21 был
|
||
// JVM-only, потому что тащил `EmbeddingProvider` из JVM-only `:memory-vector`.
|
||
// С переходом на `TextEmbeddingExecutor` (из `:memory-api`, который тянет
|
||
// `pw.binom.ai.embeddingtext:api` — теперь KMP) модуль стал платформо-
|
||
// независимым. Под нативом тесты работают с `FakeTextEmbeddingExtractor`;
|
||
// прод-реализация (`:siglip` модуль text-embedding-kmp) пока JVM+Android only.
|
||
|
||
kotlin {
|
||
jvmToolchain(21)
|
||
|
||
jvm()
|
||
linuxX64()
|
||
mingwX64()
|
||
|
||
sourceSets {
|
||
commonMain.dependencies {
|
||
// ksqlite 0.1.3 опубликован в Maven Central — обычный
|
||
// `mavenCentral()` в settings.gradle.kts его подтянет.
|
||
implementation("pw.binom.db:ksqlite:0.1.3")
|
||
implementation(libs.kotlinx.coroutines.core)
|
||
implementation(libs.kotlinx.io.core)
|
||
|
||
api(project(":memory-api"))
|
||
implementation(project(":memory-md"))
|
||
// `text-embedding-api` тянется транзитивно через `:memory-api`
|
||
// (мы добавили `api(libs.text.embedding.api)` в memory-api/build.gradle.kts).
|
||
// Раньше тут стоял `implementation(project(":memory-vector"))` ради
|
||
// `EmbeddingProvider` — JVM-only модуль с JVector. Теперь не нужен.
|
||
}
|
||
commonTest.dependencies {
|
||
implementation(kotlin("test"))
|
||
implementation(libs.kotlinx.coroutines.test)
|
||
}
|
||
}
|
||
}
|