52 lines
2.3 KiB
Kotlin
52 lines
2.3 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 живёт в libs.versions.toml (см. catalog) — обычный
|
||
// `mavenCentral()` в settings.gradle.kts его подтянет.
|
||
implementation(libs.ksqlite)
|
||
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)
|
||
}
|
||
}
|
||
}
|