diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..d126f75 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,32 @@ +[versions] +kotlin = "2.4.10" +kotlinxSerialization = "1.8.1" +ktor = "3.5.2" +yamlkt = "0.13.0" +logback = "1.5.18" +junit = "5.10.2" +coroutines = "1.10.2" +datetime = "0.6.2" +kotlinxIo = "0.9.1" + +[libraries] +ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktor" } +ktor-server-cio = { module = "io.ktor:ktor-server-cio", 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-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } +kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" } +yamlkt = { module = "net.mamoe.yamlkt:yamlkt", version.ref = "yamlkt" } +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" } +kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinxIo" } +logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } +kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test" } +junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" } +junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" } + +[plugins] +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +shadow = { id = "com.gradleup.shadow", version = "8.3.5" } diff --git a/src/commonMain/kotlin/pw/binom/llmproxy/Timeouts.kt b/src/commonMain/kotlin/pw/binom/llmproxy/Timeouts.kt new file mode 100644 index 0000000..9c104b5 --- /dev/null +++ b/src/commonMain/kotlin/pw/binom/llmproxy/Timeouts.kt @@ -0,0 +1,4 @@ +package pw.binom.llmproxy + +/** Предел времени на весь запрос к апстриму, мс: от отправки до приёма всего ответа (включая стриминг). */ +const val UPSTREAM_REQUEST_TIMEOUT_MS: Long = 5 * 60_000L