Files
google__adk-docs/examples/kotlin/snippets/callbacks/CallbackBasic.kt
Toni Klopfenstein 27e1303857 Kotlin snippets fixes (#1770)
* Migrating from Map to typed data classes in FuncTool and LongRunningTool kotlin examples

* lint cleanup of kotlin snippets

* adding gradle wrapper for kotlin snippets

* cleaning up build file for kotlin

* fixing ktlint_code_style, added focus on included Gradle Wrapper

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-05-19 15:29:44 -05:00

64 lines
2.4 KiB
Kotlin

package com.google.adk.kt.examples.callbacks
import com.google.adk.kt.agents.LlmAgent
import com.google.adk.kt.callbacks.AfterAgentCallback
import com.google.adk.kt.callbacks.AfterModelCallback
import com.google.adk.kt.callbacks.AfterToolCallback
import com.google.adk.kt.callbacks.BeforeAgentCallback
import com.google.adk.kt.callbacks.BeforeModelCallback
import com.google.adk.kt.callbacks.BeforeToolCallback
import com.google.adk.kt.callbacks.CallbackChoice
import com.google.adk.kt.models.Gemini
fun main() {
// --8<-- [start:callback_basic]
val agent =
LlmAgent(
name = "callback_agent",
model = Gemini(name = "gemini-flash-latest"),
beforeAgentCallbacks =
listOf(
BeforeAgentCallback { context ->
println("Before Agent Callback triggered")
CallbackChoice.Continue(context.eventActions)
},
),
afterAgentCallbacks =
listOf(
AfterAgentCallback { context ->
println("After Agent Callback triggered")
CallbackChoice.Continue(Unit)
},
),
beforeModelCallbacks =
listOf(
BeforeModelCallback { context, request ->
println("Before Model Callback triggered")
CallbackChoice.Continue(request)
},
),
afterModelCallbacks =
listOf(
AfterModelCallback { context, response ->
println("After Model Callback triggered")
response
},
),
beforeToolCallbacks =
listOf(
BeforeToolCallback { context, tool, args ->
println("Before Tool Callback triggered for ${tool.name}")
CallbackChoice.Continue(args)
},
),
afterToolCallbacks =
listOf(
AfterToolCallback { context, tool, args, result ->
println("After Tool Callback triggered for ${tool.name}")
result
},
),
)
// --8<-- [end:callback_basic]
}