Add koog module: a tool-calling agent, a strategy graph with a Java node and the Spring Boot starter on Koog 1.3.0, tested against a scripted OpenAI-compatible endpoint

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b6FHj1ptP5Fej2eFDo
This commit is contained in:
Claude
2026-11-11 11:28:34 +05:30
parent 58eaf4c2e1
commit a620d91d0a
28 changed files with 867 additions and 0 deletions
+89
View File
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ankurm.agents</groupId>
<artifactId>java-ai-agents</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>koog</artifactId>
<name>Koog: an agent with tools, a strategy graph and Spring Boot</name>
<properties>
<!-- Verified on Maven Central 2026-11-11 -->
<koog.version>1.3.0</koog.version>
<koog.beta.version>1.3.0-beta</koog.beta.version>
<!-- koog-spring-boot-starter 1.3.0-beta is built against Spring Boot 3.5.14; the other modules use 4.x -->
<koog.spring-boot.version>3.5.16</koog.spring-boot.version>
<kotlinx-serialization.version>1.10.0</kotlinx-serialization.version>
<kotlinx-coroutines.version>1.10.2</kotlinx-coroutines.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Order matters. Maven takes the FIRST version it meets, and the Spring Boot 3.5.16 BOM pins
Kotlin 1.9.25, coroutines 1.8.1 and serialization 1.6.3. A <kotlin.version> property in this pom
does not reach an imported BOM (only spring-boot-starter-parent honours it), so the Kotlin BOMs
Koog needs are imported first. -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-bom</artifactId>
<version>2.3.10</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-coroutines-bom</artifactId>
<version>${kotlinx-coroutines.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-serialization-bom</artifactId>
<version>${kotlinx-serialization.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${koog.spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>ai.koog</groupId>
<artifactId>koog-agents-jvm</artifactId>
<version>${koog.version}</version>
</dependency>
<dependency>
<groupId>ai.koog</groupId>
<artifactId>koog-spring-boot-starter</artifactId>
<version>${koog.beta.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>