Skip to content

Commit b2c3839

Browse files
authored
[examples] Fix demo app to work with newer version of Koog (#336)
1 parent 25b860a commit b2c3839

File tree

6 files changed

+18
-12
lines changed

6 files changed

+18
-12
lines changed

examples/demo-android-app/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ This is a simple demo Android app built with Jetpack Compose that demonstrates t
55

66
## Setup
77
1. Open the project in IntelliJ IDEA or Android Studio
8-
2. Configure your API keys in the app settings
9-
3. Build and run the application
8+
2. Build and run the application
9+
3. Configure your API keys in the app settings
1010

1111
## Usage Examples
1212

examples/demo-android-app/app/src/main/java/com/jetbrains/example/kotlin_agents_demo_app/agents/calculator/CalculatorAgentProvider.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ import ai.koog.agents.core.dsl.extension.*
88
import ai.koog.agents.core.environment.ReceivedToolResult
99
import ai.koog.agents.core.tools.Tool
1010
import ai.koog.agents.core.tools.ToolRegistry
11-
import ai.koog.agents.local.features.eventHandler.feature.handleEvents
11+
import ai.koog.agents.features.eventHandler.feature.handleEvents
1212
import ai.koog.prompt.dsl.prompt
1313
import ai.koog.prompt.executor.clients.openai.OpenAIModels
1414
import ai.koog.prompt.executor.llms.all.simpleOpenAIExecutor
1515
import com.jetbrains.example.kotlin_agents_demo_app.agents.common.AgentProvider
1616
import com.jetbrains.example.kotlin_agents_demo_app.agents.common.ExitTool
1717
import com.jetbrains.example.kotlin_agents_demo_app.settings.AppSettings
18+
import kotlin.uuid.ExperimentalUuidApi
19+
import kotlin.uuid.Uuid
1820

1921
/**
2022
* Factory for creating calculator agents
@@ -122,11 +124,12 @@ object CalculatorAgentProvider : AgentProvider {
122124
toolRegistry = toolRegistry,
123125
) {
124126
handleEvents {
125-
onToolCall { tool: Tool<*, *>, toolArgs: ToolArgs ->
127+
onToolCall { tool: Tool<*, *>, toolArgs: Tool.Args ->
126128
onToolCallEvent("Tool ${tool.name}, args $toolArgs")
127129
}
128130

129-
onAgentRunError { strategyName: String, throwable: Throwable ->
131+
@OptIn(ExperimentalUuidApi::class)
132+
onAgentRunError { strategyName: String, sessionUuid: Uuid?, throwable: Throwable ->
130133
onErrorEvent("${throwable.message}")
131134
}
132135

examples/demo-android-app/app/src/main/java/com/jetbrains/example/kotlin_agents_demo_app/agents/calculator/CalculatorTools.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ object CalculatorTools {
99
description: String,
1010
) : Tool<CalculatorTool.Args, CalculatorTool.Result>() {
1111
@Serializable
12-
data class Args(val a: Float, val b: Float) : ToolArgs
12+
data class Args(val a: Float, val b: Float) : Tool.Args
1313

1414
@Serializable
1515
@JvmInline

examples/demo-android-app/app/src/main/java/com/jetbrains/example/kotlin_agents_demo_app/agents/common/ExitTool.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable
55

66
object ExitTool : SimpleTool<ExitTool.Args>() {
77
@Serializable
8-
data class Args(val result: String = ""): ToolArgs
8+
data class Args(val result: String = ""): Tool.Args
99
override val argsSerializer = Args.serializer()
1010

1111
override val descriptor = ToolDescriptor(

examples/demo-android-app/app/src/main/java/com/jetbrains/example/kotlin_agents_demo_app/agents/weather/WeatherAgentProvider.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ import ai.koog.agents.core.dsl.extension.*
88
import ai.koog.agents.core.environment.ReceivedToolResult
99
import ai.koog.agents.core.tools.Tool
1010
import ai.koog.agents.core.tools.ToolRegistry
11-
import ai.koog.agents.local.features.eventHandler.feature.handleEvents
11+
import ai.koog.agents.features.eventHandler.feature.handleEvents
1212
import ai.koog.prompt.dsl.prompt
1313
import ai.koog.prompt.executor.clients.openai.OpenAIModels
1414
import ai.koog.prompt.executor.llms.all.simpleOpenAIExecutor
1515
import com.jetbrains.example.kotlin_agents_demo_app.agents.common.AgentProvider
1616
import com.jetbrains.example.kotlin_agents_demo_app.agents.common.ExitTool
1717
import com.jetbrains.example.kotlin_agents_demo_app.settings.AppSettings
18+
import kotlin.uuid.ExperimentalUuidApi
19+
import kotlin.uuid.Uuid
1820

1921
/**
2022
* Factory for creating weather forecast agents
@@ -128,11 +130,12 @@ object WeatherAgentProvider : AgentProvider {
128130
toolRegistry = toolRegistry,
129131
) {
130132
handleEvents {
131-
onToolCall { tool: Tool<*, *>, toolArgs: ToolArgs ->
133+
onToolCall { tool: Tool<*, *>, toolArgs: Tool.Args ->
132134
onToolCallEvent("Tool ${tool.name}, args $toolArgs")
133135
}
134136

135-
onAgentRunError { strategyName: String, throwable: Throwable ->
137+
@OptIn(ExperimentalUuidApi::class)
138+
onAgentRunError { strategyName: String, sessionUuid: Uuid?, throwable: Throwable ->
136139
onErrorEvent("${throwable.message}")
137140
}
138141

examples/demo-android-app/app/src/main/java/com/jetbrains/example/kotlin_agents_demo_app/agents/weather/WeatherTools.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ object WeatherTools {
4040
@Serializable
4141
data class Args(
4242
val timezone: String = "UTC"
43-
) : ToolArgs
43+
) : Tool.Args
4444

4545
@Serializable
4646
data class Result(
@@ -96,7 +96,7 @@ object WeatherTools {
9696
val days: Int,
9797
val hours: Int,
9898
val minutes: Int
99-
) : ToolArgs
99+
) : Tool.Args
100100

101101
@Serializable
102102
data class Result(

0 commit comments

Comments
 (0)