Package-level declarations

Types

Link copied to clipboard
class KoogBackend(executor: PromptExecutor, model: LLModel, tools: List<AgentTool> = emptyList(), instructions: String = "", approver: ToolApprover = ToolApprover.AlwaysApprove, maxIterations: Int = 50, strategy: AIAgentGraphStrategy<String, String> = singleRunStrategy()) : ChatBackend

A JetBrains Koog agent as a ChatBackend: each turn runs a Koog AIAgent on executor / model with tools and instructions, and its lifecycle (LLM calls and streaming frames, tool calls) is mapped onto chat events. Tools run through AI Elements' tool handling, so approvals, progress and sub-agent updates work as with the built-in loop.

Link copied to clipboard
class KoogTool(val tool: AgentTool, run: suspend (JsonObject) -> String = tool::execute) : Tool<JsonObject, String>

An AI Elements AgentTool as a Koog tool: JSON arguments in, text out. run defaults to the tool itself; KoogBackend routes it through the chat's tool events (approval, progress) instead.

Functions

Link copied to clipboard
fun AgentTool.koogDescriptor(): ToolDescriptor

This tool's JSON Schema parameters as a Koog ToolDescriptor.