Bug with integration openai-kotlin library
VadymIgnatiev opened this issue · comments
What happened?
I'm new to Kotlin development and using gradle, so my problems may seem stupid. I want to connect your library to develop a plugin for Jet Brains IDEs, for my custom tasks, but I get the following(in the bottom) error when running your code.
try to add (openai-client:3.6.2)
use for development IntelliJ IDEA 2023.3 (Ultimate Edition)
Kotlin version kotlin = "1.9.0", the same as in gradle/libs.versions.toml
Run on windows IntelliJ IDEA 2022.3.3 (Community Edition)
added your library through gradle
my dependency in build.gradle.kts
dependencies {
implementation(libs.openai.client)
implementation(libs.coroutines)
// implementation(libs.ktor.core)
// implementation(libs.ktor.cio)
implementation(libs.slf4j.api)
implementation(libs.slf4j.simple)
}
settings.gradle.kts
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
library("openai-client", "com.aallam.openai:openai-client:3.6.1")
library("coroutines", "org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.7.2")
// library("ktor-core", "io.ktor:ktor-client-core:2.3.7")
// library("ktor-cio", "io.ktor:ktor-client-cio:2.3.7")
library("slf4j-api", "org.slf4j:slf4j-api:1.7.35")
library("slf4j-simple", "org.slf4j:slf4j-simple:1.7.35")
}
}
}
- Additinally, I don't know why, but I don't have the option to create a Kotlin class in the project window IntelliJ IDEA 2023.3. Perhaps someone knows how to enable it. The Kotlin plugin is installed if necessary.
Relevant log output or stack trace
java.lang.LinkageError: loader constraint violation: when resolving method 'long kotlin.time.Duration.toLong-impl(long, kotlin.time.DurationUnit)' the class loader com.intellij.ide.plugins.cl.PluginClassLoader @7193fbf1 of the current class, com/aallam/openai/client/internal/HttpClientKt$createHttpClient$configuration$1$5, and the class loader com.intellij.util.lang.PathClassLoader @7e0babb1 for the method's defining class, kotlin/time/Duration, have different Class objects for the type kotlin/time/DurationUnit used in the signature (com.aallam.openai.client.internal.HttpClientKt$createHttpClient$configuration$1$5 is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @7193fbf1, parent loader 'bootstrap'; kotlin.time.Duration is in unnamed module of loader com.intellij.util.lang.PathClassLoader @7e0babb1) at com.aallam.openai.client.internal.HttpClientKt$createHttpClient$configuration$1$5.invoke(HttpClient.kt:57) at com.aallam.openai.client.internal.HttpClientKt$createHttpClient$configuration$1$5.invoke(HttpClient.kt:55) at io.ktor.client.HttpClientConfig$install$2.invoke(HttpClientConfig.kt:76) at io.ktor.client.HttpClientConfig$install$2.invoke(HttpClientConfig.kt:72) at io.ktor.client.plugins.HttpTimeout$Plugin.prepare(HttpTimeout.kt:140) at io.ktor.client.plugins.HttpTimeout$Plugin.prepare(HttpTimeout.kt:128) at io.ktor.client.HttpClientConfig$install$3.invoke(HttpClientConfig.kt:84) at io.ktor.client.HttpClientConfig$install$3.invoke(HttpClientConfig.kt:81) at io.ktor.client.HttpClientConfig.install(HttpClientConfig.kt:104) at io.ktor.client.HttpClient.<init>(HttpClient.kt:172) at io.ktor.client.HttpClient.<init>(HttpClient.kt:84) at io.ktor.client.HttpClientKt.HttpClient(HttpClient.kt:43) at io.ktor.client.HttpClientJvmKt.HttpClient(HttpClientJvm.kt:21) at com.aallam.openai.client.internal.HttpClientKt.createHttpClient(HttpClient.kt:89) at com.aallam.openai.client.OpenAIKt.OpenAI(OpenAI.kt:60) at com.aallam.openai.client.OpenAIKt.OpenAI(OpenAI.kt:40) at com.aallam.openai.client.OpenAIKt.OpenAI$default(OpenAI.kt:30) at com.github.vadymignatiev.octopusrider.ChatPresenter.<init>(ChatPresenter.kt:15) at com.github.vadymignatiev.octopusrider.ChatAction.actionPerformed(ChatAction.kt:9) at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:327) at com.intellij.ide.actions.GotoActionAction.lambda$performActionImpl$4(GotoActionAction.java:91) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:350) at com.intellij.ide.actions.GotoActionAction.performActionImpl(GotoActionAction.java:90) at com.intellij.ide.actions.GotoActionAction.lambda$performAction$2(GotoActionAction.java:70) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:74) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:114) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:36) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Steps to reproduce
try to add (openai-client:3.6.2)
use for development IntelliJ IDEA 2023.3 (Ultimate Edition)
Kotlin version kotlin = "1.9.0", the same as in gradle/libs.versions.toml
Run on windows IntelliJ IDEA 2022.3.3 (Community Edition)
Gradle IntelliJ Plugin version
default for plugins development in the IntelliJ IDEA 2023.3 (Ultimate Edition)
Gradle version
8.5
Operating System
Windows