Files
agentik/storage-sqlite/build.gradle.kts
T
subochev d74af621d8
ci / JVM build + tests (push) Successful in 6m13s
refactor(storage): drop StorageBundle + legacy EventStore, add HttpEventStore
- Remove legacy pw.binom.agentik.messageStore.events.EventStore (EventRecord,
  EventType) and all three impls (in-memory, sqlite, ksqlite) + tests + .sq
- Drop :storage-bundle module entirely; ChatAgent / ChatConversation /
  ConversationLoop / DebugRoutes now take stores individually
  (conversationStore, messageStore, workingMemoryStore, reflectionStore,
  eventStore) instead of StorageBundle
- Delete server endpoints /events/replay and /conversations/{id}/events/replay;
  Route.agentikAgent no longer takes eventStore param
- Add :client/HttpEventStore implementing :event-store/EventStore over HTTP:
  events() -> GET /events/all, agentEvents() -> GET /events,
  conversationEvents(convId) -> GET /conversations/{id}/events;
  exposed via AgentClient.eventStore
- :event-store: add macosX64/macosArm64/linuxArm64 targets to match :client KMP
- :working-memory-api: drop api dep on :message-store-api (no longer needed)
- :storage-{inmemory,sqlite,ksqlite}: drop deps on :storage-bundle
2026-09-20 18:06:46 +03:00

47 lines
1.5 KiB
Kotlin

plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.sqldelight)
}
kotlin {
jvmToolchain(21)
// JVM-only: SQLDelight сейчас не имеет KMP-таргетов за пределами JVM/Android.
// Если в будущем понадобится Native (iOS/macOS), придётся либо подключать
// platform-native SQLDelight driver (https://github.com/cashapp/sqldelight
// multiplatform module), либо использовать :storage-inmemory там.
jvm()
sourceSets {
commonMain.dependencies {
api(project(":message-store-api"))
api(project(":message-log-api"))
api(project(":working-memory-api"))
api(libs.sqldelight.runtime)
api(libs.sqldelight.coroutines)
}
jvmMain.dependencies {
implementation(libs.sqldelight.sqlite.driver)
implementation(libs.kotlin.logging)
}
commonTest.dependencies {
implementation(kotlin("test"))
implementation(libs.kotlinx.coroutines.test)
}
jvmTest.dependencies {
// SQLDelight JDBC driver — для тестов, которые поднимают in-memory DB
implementation(libs.sqldelight.sqlite.driver)
}
}
}
sqldelight {
databases {
create("AgentikDatabase") {
packageName.set("pw.binom.agentik.storage.sqlite")
srcDirs.setFrom("src/jvmMain/sqldelight")
}
}
}