plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) } // KMP-реализация :context-api (ContextStore) поверх ksqlite. // Минимальная — только таблица `working_memory` + 2 индекса по ней. // Остальные таблицы (`conversation`, `message`, `reflection`) живут в // других ksqlite-модулях; этот модуль не претендует на полную схему // агента. // // Цели сборки — jvm() + linuxX64() + mingwX64(); Apple targets auto-disabled // на Linux (ksqlite не публикует macOS / iOS native артефакты на Maven Central). 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.serialization.json) api(project(":context-api")) api(project(":journal-api")) api(project(":reflection-api")) // :context-api ссылается на Content / MessageContext из // :message-log-api (старый canonical). Транзитивно через api, // но фиксируем явно чтобы тестовый код видел Content без // обхода через :context-api. // api(project(":message-log-api")) } commonTest.dependencies { implementation(kotlin("test")) implementation(libs.kotlinx.coroutines.test) } } }