Skip to content

KG-294 Support for Non-Ktor http clients. Part 1 (#707) #2275

KG-294 Support for Non-Ktor http clients. Part 1 (#707)

KG-294 Support for Non-Ktor http clients. Part 1 (#707) #2275

GitHub Actions / Qodana for JVM completed Sep 3, 2025 in 0s

779 new problems found by Qodana for JVM

Qodana for JVM

779 new problems were found

Inspection name Severity Problems
Check Kotlin and Java source code coverage 🔶 Warning 747
Missing KDoc for public API declaration 🔶 Warning 25
Vulnerable imported dependency 🔶 Warning 6
String concatenation that can be converted to string template ◽️ Notice 1
@@ Code coverage @@
+ 66% total lines covered
10854 lines analyzed, 7241 lines covered
# Calculated according to the filters of your coverage tool

☁️ View the detailed Qodana report

Detected 205 dependencies

Third-party software list

This page lists the third-party software dependencies used in koog-agents

Dependency Version Licenses
annotations-js 26.0.2 Apache-2.0
annotations-wasmjs 26.0.2 Apache-2.0
annotations 13.0 Apache-2.0
annotations 23.0.0 Apache-2.0
annotations 26.0.2 Apache-2.0
atomicfu-js 0.28.0 Apache-2.0
atomicfu-wasm-js 0.28.0 Apache-2.0
atomicfu 0.23.1 Apache-2.0
aws-config-jvm 1.5.16 Apache-2.0
aws-core-jvm 1.5.16 Apache-2.0
aws-credentials-jvm 1.5.4 Apache-2.0
aws-endpoint-jvm 1.5.16 Apache-2.0
aws-signing-common-jvm 1.5.4 Apache-2.0
bedrockruntime-jvm 1.5.16 Apache-2.0
config 1.4.3 Apache-2.0
dokka-core 2.0.0 Apache-2.0
dokka-gradle-plugin 2.0.0 Apache-2.0
fus-statistics-gradle-plugin 2.1.21 Apache-2.0
http-auth-api-jvm 1.5.4 Apache-2.0
http-auth-jvm 1.5.4 Apache-2.0
http-client-jvm 1.5.4 Apache-2.0
http-jvm 1.5.4 Apache-2.0
identity-api-jvm 1.5.4 Apache-2.0
jackson-annotations 2.12.7 Apache-2.0
jackson-annotations 2.19.1 Apache-2.0
jackson-core 2.12.7 Apache-2.0
jackson-core 2.19.1 Apache-2.0
jackson-databind 2.12.7.1 Apache-2.0
jackson-databind 2.19.1 Apache-2.0
jackson-dataformat-xml 2.12.7 Apache-2.0
jackson-module-jaxb-annotations 2.12.7 Apache-2.0
jackson-module-kotlin 2.12.7 Apache-2.0
jackson-module-kotlin 2.19.1 Apache-2.0
jakarta.activation-api 1.2.1 BSD-3-Clause
jakarta.annotation-api 2.1.1 Classpath-exception-2.0
EPL-2.0
GPL-2.0-only
jakarta.xml.bind-api 2.3.2 BSD-3-Clause
jet-sign 45.47 Apache-2.0
jul-to-slf4j 2.0.17 MIT
kotlin-dom-api-compat 2.1.21 Apache-2.0
kotlin-gradle-plugin-api 2.1.21 Apache-2.0
kotlin-gradle-plugin-model 2.1.21 Apache-2.0
kotlin-gradle-plugin 2.1.21 Apache-2.0
kotlin-logging-js 7.0.7 Apache-2.0
kotlin-logging-jvm 7.0.7 Apache-2.0
kotlin-logging-wasm-js 7.0.7 Apache-2.0
kotlin-logging 7.0.7 Apache-2.0
kotlin-reflect 2.0.21 Apache-2.0
kotlin-reflect 2.1.21 Apache-2.0
kotlin-sdk-jvm 0.6.0 MIT
kotlin-stdlib-js 2.1.21 Apache-2.0
kotlin-stdlib-wasm-js 2.1.21 Apache-2.0
kotlin-stdlib 2.0.21 Apache-2.0
kotlin-stdlib 2.1.21 Apache-2.0
kotlinx-collections-immutable-jvm 0.4.0 Apache-2.0
kotlinx-coroutines-core-js 1.10.2 Apache-2.0
kotlinx-coroutines-core-jvm 1.10.2 Apache-2.0
kotlinx-coroutines-core-jvm 1.8.0 Apache-2.0
kotlinx-coroutines-core-wasm-js 1.10.2 Apache-2.0
kotlinx-coroutines-core 1.10.2 Apache-2.0
kotlinx-coroutines-jdk8 1.10.2 Apache-2.0
kotlinx-coroutines-reactive 1.10.2 Apache-2.0
kotlinx-coroutines-slf4j 1.10.2 Apache-2.0
kotlinx-datetime-js 0.6.2 Apache-2.0
kotlinx-datetime-jvm 0.6.2 Apache-2.0
kotlinx-datetime-wasm-js 0.6.2 Apache-2.0
kotlinx-datetime 0.6.2 Apache-2.0
kotlinx-io-bytestring-js 0.7.0 Apache-2.0
kotlinx-io-bytestring-jvm 0.7.0 Apache-2.0
kotlinx-io-bytestring-wasm-js 0.7.0 Apache-2.0
kotlinx-io-bytestring 0.7.0 Apache-2.0
kotlinx-io-core-js 0.7.0 Apache-2.0
kotlinx-io-core-jvm 0.7.0 Apache-2.0
kotlinx-io-core-wasm-js 0.7.0 Apache-2.0
kotlinx-io-core 0.7.0 Apache-2.0
kotlinx-serialization-core-js 1.8.1 Apache-2.0
kotlinx-serialization-core-jvm 1.8.1 Apache-2.0
kotlinx-serialization-core-jvm 1.9.0 Apache-2.0
kotlinx-serialization-core-wasm-js 1.8.1 Apache-2.0
kotlinx-serialization-core 1.8.1 Apache-2.0
kotlinx-serialization-json-io-js 1.8.1 Apache-2.0
kotlinx-serialization-json-io-jvm 1.8.1 Apache-2.0
kotlinx-serialization-json-io-jvm 1.9.0 Apache-2.0
kotlinx-serialization-json-io-wasm-js 1.8.1 Apache-2.0
kotlinx-serialization-json-io 1.8.1 Apache-2.0
kotlinx-serialization-json-js 1.8.1 Apache-2.0
kotlinx-serialization-json-jvm 1.8.1 Apache-2.0
kotlinx-serialization-json-jvm 1.9.0 Apache-2.0
kotlinx-serialization-json-wasm-js 1.8.1 Apache-2.0
kotlinx-serialization-json 1.8.1 Apache-2.0
ktor-client-cio-js 3.2.2 Apache-2.0
ktor-client-cio-jvm 3.2.2 Apache-2.0
ktor-client-cio-wasm-js 3.2.2 Apache-2.0
ktor-client-cio 3.2.2 Apache-2.0
ktor-client-content-negotiation-js 3.2.2 Apache-2.0
ktor-client-content-negotiation-jvm 3.2.2 Apache-2.0
ktor-client-content-negotiation-wasm-js 3.2.2 Apache-2.0
ktor-client-content-negotiation 3.2.2 Apache-2.0
ktor-client-core-js 3.2.2 Apache-2.0
ktor-client-core-jvm 3.2.2 Apache-2.0
ktor-client-core-wasm-js 3.2.2 Apache-2.0
ktor-client-core 3.2.2 Apache-2.0
ktor-client-darwin 3.2.2 Apache-2.0
ktor-client-js-js 3.2.2 Apache-2.0
ktor-client-logging-js 3.2.2 Apache-2.0
ktor-client-logging-jvm 3.2.2 Apache-2.0
ktor-client-logging-wasm-js 3.2.2 Apache-2.0
ktor-client-logging 3.2.2 Apache-2.0
ktor-events-js 3.2.2 Apache-2.0
ktor-events-jvm 3.2.2 Apache-2.0
ktor-events-wasm-js 3.2.2 Apache-2.0
ktor-events 3.2.2 Apache-2.0
ktor-http-cio-js 3.2.2 Apache-2.0
ktor-http-cio-jvm 3.2.2 Apache-2.0
ktor-http-cio-wasm-js 3.2.2 Apache-2.0
ktor-http-cio 3.2.2 Apache-2.0
ktor-http-js 3.2.2 Apache-2.0
ktor-http-jvm 3.2.2 Apache-2.0
ktor-http-wasm-js 3.2.2 Apache-2.0
ktor-http 3.2.2 Apache-2.0
ktor-io-js 3.2.2 Apache-2.0
ktor-io-jvm 3.2.2 Apache-2.0
ktor-io-wasm-js 3.2.2 Apache-2.0
ktor-io 3.2.2 Apache-2.0
ktor-network-js 3.2.2 Apache-2.0
ktor-network-jvm 3.2.2 Apache-2.0
ktor-network-tls-js 3.2.2 Apache-2.0
ktor-network-tls-jvm 3.2.2 Apache-2.0
ktor-network-tls-wasm-js 3.2.2 Apache-2.0
ktor-network-tls 3.2.2 Apache-2.0
ktor-network-wasm-js 3.2.2 Apache-2.0
ktor-network 3.2.2 Apache-2.0
ktor-serialization-js 3.2.2 Apache-2.0
ktor-serialization-jvm 3.2.2 Apache-2.0
ktor-serialization-kotlinx-js 3.2.2 Apache-2.0
ktor-serialization-kotlinx-json-js 3.2.2 Apache-2.0
ktor-serialization-kotlinx-json-jvm 3.2.2 Apache-2.0
ktor-serialization-kotlinx-json-wasm-js 3.2.2 Apache-2.0
ktor-serialization-kotlinx-json 3.2.2 Apache-2.0
ktor-serialization-kotlinx-jvm 3.2.2 Apache-2.0
ktor-serialization-kotlinx-wasm-js 3.2.2 Apache-2.0
ktor-serialization-kotlinx 3.2.2 Apache-2.0
ktor-serialization-wasm-js 3.2.2 Apache-2.0
ktor-serialization 3.2.2 Apache-2.0
ktor-server-cio-js 3.2.2 Apache-2.0
ktor-server-cio-jvm 3.2.2 Apache-2.0
ktor-server-cio-wasm-js 3.2.2 Apache-2.0
ktor-server-cio 3.2.2 Apache-2.0
ktor-server-core-js 3.2.2 Apache-2.0
ktor-server-core-jvm 3.2.2 Apache-2.0
ktor-server-core-wasm-js 3.2.2 Apache-2.0
ktor-server-core 3.2.2 Apache-2.0
ktor-server-sse-js 3.2.2 Apache-2.0
ktor-server-sse-jvm 3.2.2 Apache-2.0
ktor-server-sse-wasm-js 3.2.2 Apache-2.0
ktor-server-sse 3.2.2 Apache-2.0
ktor-server-websockets-jvm 3.2.1 Apache-2.0
ktor-sse-js 3.2.2 Apache-2.0
ktor-sse-jvm 3.2.2 Apache-2.0
ktor-sse-wasm-js 3.2.2 Apache-2.0
ktor-sse 3.2.2 Apache-2.0
ktor-utils-js 3.2.2 Apache-2.0
ktor-utils-jvm 3.2.2 Apache-2.0
ktor-utils-wasm-js 3.2.2 Apache-2.0
ktor-utils 3.2.2 Apache-2.0
ktor-websocket-serialization-js 3.2.2 Apache-2.0
ktor-websocket-serialization-jvm 3.2.2 Apache-2.0
ktor-websocket-serialization-wasm-js 3.2.2 Apache-2.0
ktor-websocket-serialization 3.2.2 Apache-2.0
ktor-websockets-js 3.2.2 Apache-2.0
ktor-websockets-jvm 3.2.2 Apache-2.0
ktor-websockets-wasm-js 3.2.2 Apache-2.0
ktor-websockets 3.2.2 Apache-2.0
lettuce-core 6.5.5.release MIT
log4j-api 2.24.3 Apache-2.0
log4j-to-slf4j 2.24.3 Apache-2.0
logback-classic 1.5.13 EPL-1.0
LGPL-2.0-or-later
logback-classic 1.5.18 EPL-1.0
LGPL-2.0-or-later
logback-core 1.5.13 EPL-1.0
LGPL-2.0-or-later
logback-core 1.5.18 EPL-1.0
LGPL-2.0-or-later
netty-common 4.1.118.final Apache-2.0
opentelemetry-api 1.51.0 Apache-2.0
opentelemetry-context 1.51.0 Apache-2.0
opentelemetry-exporter-logging 1.51.0 Apache-2.0
opentelemetry-exporter-otlp 1.51.0 Apache-2.0
opentelemetry-sdk-common 1.51.0 Apache-2.0
opentelemetry-sdk-logs 1.51.0 Apache-2.0
opentelemetry-sdk-metrics 1.51.0 Apache-2.0
opentelemetry-sdk-trace 1.51.0 Apache-2.0
opentelemetry-sdk 1.51.0 Apache-2.0
reactive-streams 1.0.4 MIT-0
reactor-core 3.6.6 Apache-2.0
reactor-kotlin-extensions 1.2.3 Apache-2.0
runtime-core-jvm 1.5.4 Apache-2.0
slf4j-api 2.0.17 MIT
smithy-client-jvm 1.5.4 Apache-2.0
snakeyaml 2.4 Apache-2.0
spring-boot-autoconfigure 3.5.3 Apache-2.0
spring-boot-starter-logging 3.5.3 Apache-2.0
spring-boot-starter 3.5.3 Apache-2.0
spring-boot 3.5.3 Apache-2.0
spring-core 6.2.8 Apache-2.0
stax2-api 4.2.1 BSD-2-Clause
BSD-3-Clause
stdlib stdlib Apache-2.0
telemetry-api-jvm 1.5.4 Apache-2.0
woodstox-core 6.2.4 Apache-2.0
Contact Qodana team

Contact us at [email protected]

Details

This result was published with Qodana GitHub Action

Annotations

Check notice on line 95 in examples/src/main/kotlin/ai/koog/agents/example/mcp/UnityMcpAgent.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

String concatenation that can be converted to string template

'String' concatenation can be converted to a template

Check warning on line 83 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Constructor `OpenRouterChatCompletionResponse` coverage is below the threshold 50%

Check warning on line 47 in prompt/prompt-executor/prompt-executor-clients/src/commonMain/kotlin/ai/koog/prompt/executor/clients/LLMClient.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `executeMultipleChoices` coverage is below the threshold 50%

Check warning on line 91 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/azure/AzureOpenAIServiceVersion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getV2023_07_01_PREVIEW` coverage is below the threshold 50%

Check warning on line 681 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getParameters` coverage is below the threshold 50%

Check warning on line 79 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModerationModels.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getHateThreatening` coverage is below the threshold 50%

Check warning on line 28 in agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Class `DummyAIAgentContext` coverage is below the threshold 50%

Check warning on line 14 in agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/SpanAdapter.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Class `SpanAdapter` coverage is below the threshold 50%

Check warning on line 84 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getChoices` coverage is below the threshold 50%

Check warning on line 98 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Constructor `OpenRouterChatCompletionStreamResponse` coverage is below the threshold 50%

Check warning on line 139 in agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/message/FeatureMessage.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Class `FeatureEventMessage` coverage is below the threshold 50%

Check warning on line 147 in agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodes.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getMessage` coverage is below the threshold 50%

Check warning on line 874 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getFinishReason` coverage is below the threshold 50%

Check warning on line 329 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getVoice` coverage is below the threshold 50%

Check warning on line 67 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getOrder` coverage is below the threshold 50%

Check warning on line 204 in rag/rag-base/src/commonMain/kotlin/ai/koog/rag/base/files/TextRange.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `covering$koog_agents_rag_rag_base_commonMain` coverage is below the threshold 50%

Check warning on line 14 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIEmbedding.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getData` coverage is below the threshold 50%

Check warning on line 1382 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getServiceTier` coverage is below the threshold 50%

Check warning on line 266 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getChoices` coverage is below the threshold 50%

Check warning on line 235 in agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentContext.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getAgentContextDataAdditionalKey` coverage is below the threshold 50%

Check warning on line 23 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Class `OpenRouterChatCompletionRequest` coverage is below the threshold 50%

Check warning on line 1393 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getUser` coverage is below the threshold 50%

Check warning on line 274 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getUsage` coverage is below the threshold 50%

Check warning on line 41 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getRepetitionPenalty` coverage is below the threshold 50%

Check warning on line 416 in prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt

See this annotation in the file changed.

@github-actions github-actions / Qodana for JVM

Check Kotlin and Java source code coverage

Method `getContent` coverage is below the threshold 50%