JetBrains / intellij-platform-plugin-template

Template repository for creating plugins for IntelliJ Platform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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")
        }
    }
}
  1. 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

Link to build, i.e. failing GitHub Action job

https://github.com/VadymIgnatiev/OctopusRider/blob/main/src/main/kotlin/com/github/vadymignatiev/octopusrider/ChatAction.kt