[versions] kotlin = "2.4.20" kotlinx-serialization = "1.11.0" kotlinx-coroutines = "1.11.0" kotlinx-io = "0.8.0" ktor = "3.1.3" a2a = "1.0.0-SNAPSHOT" kaml = "0.104.0" litert = "7" sqldelight = "2.3.2" shadow = "8.3.5" jvector = "3.0.6" text-embedding-kmp = "3.0.0-SNAPSHOT" kotlin-logging = "3.0.5" logback = "1.5.18" [plugins] kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" } shadow = { id = "com.gradleup.shadow", version.ref = "shadow" } [libraries] # --- A2A (pw.binom.a2a) — shared: KMP (jvm + linuxX64); client/server: JVM-only --- a2a-shared = { module = "pw.binom.a2a:shared", version.ref = "a2a" } a2a-client = { module = "pw.binom.a2a:client", version.ref = "a2a" } a2a-server = { module = "pw.binom.a2a:server", version.ref = "a2a" } # --- YAML для парсинга скилов (opencode-style frontmatter). KMP. --- kaml = { module = "com.charleskorn.kaml:kaml", version.ref = "kaml" } # --- litert-kmp (pw.binom.litert) — universal LLM wrapper --- litert-api = { module = "pw.binom.litert:litert-api", version.ref = "litert" } litert-openai = { module = "pw.binom.litert:litert-openai-jvm", version.ref = "litert" } litert-google = { module = "pw.binom.litert:litert-google", version.ref = "litert" } # --- SQLDelight (app.cash.sqldelight) — KMP SQLite, JDBC driver --- sqldelight-runtime = { module = "app.cash.sqldelight:runtime", version.ref = "sqldelight" } sqldelight-sqlite-driver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" } sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" } # --- Ktor (сервер) --- ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktor" } ktor-server-sse = { module = "io.ktor:ktor-server-sse", version.ref = "ktor" } ktor-server-cio = { module = "io.ktor:ktor-server-cio", version.ref = "ktor" } ktor-server-netty = { module = "io.ktor:ktor-server-netty", version.ref = "ktor" } ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktor" } ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-server-test-host = { module = "io.ktor:ktor-server-test-host", version.ref = "ktor" } ktor-client-sse = { module = "io.ktor:ktor-client-sse", version.ref = "ktor" } # --- Model Context Protocol (MCP) --- mcp-sdk-client = { module = "io.modelcontextprotocol:kotlin-sdk-client", version = "0.15.0" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } # --- commons --- kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinx-serialization" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinx-io" } # --- kMMIO (dev.karmakrafts.kmmio) — резерв под будущую vector-DB, пока не используется --- # kmmio-core = { module = "dev.karmakrafts.kmmio:kmmio-core", version = "2.3.1" } # --- JVector (io.github.jbellis) — embedded ANN-индекс для vector-бэкенда памяти. JVM-only. --- jvector = { module = "io.github.jbellis:jvector", version.ref = "jvector" } # --- text-embedding-kmp (pw.binom.ai.embeddingtext) — on-device SigLIP2 эмбеддинг через ONNX. --- # Артефакты публикуются под именами `-jvm` (KMP convention для JVM-таргета). text-embedding-api = { module = "pw.binom.ai.embeddingtext:api-jvm", version.ref = "text-embedding-kmp" } text-embedding-siglip = { module = "pw.binom.ai.embeddingtext:siglip-jvm", version.ref = "text-embedding-kmp" } # --- Логирование: kotlin-logging (тонкая обёртка над slf4j-api) + logback-classic (binding). --- kotlin-logging = { module = "io.github.microutils:kotlin-logging-jvm", version.ref = "kotlin-logging" } logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }