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
@@ -0,0 +1,18 @@
agent.run("Is checkout healthy?") -> checkout is DEGRADED
HTTP calls the model endpoint received: 2
POST /v1/chat/completions
POST /v1/chat/completions
Request 1 - messages:
system: You are an on-call assistant. Use the tools to answer; never guess a status.
user: Is checkout healthy?
Request 1 - tools Koog derived from ServiceTools:
{"name":"getServiceStatus","description":"Returns the current status of one service: HEALTHY, DEGRADED or DOWN","parameters":{"type":"object","properties":{"service":{"description":"Service name, for example checkout","type":"string"}},"required":["service"]}}
{"name":"error_rate","description":"Returns the percentage of failed requests for one service over the last N minutes","parameters":{"type":"object","properties":{"service":{"description":"Service name, for example checkout","type":"string"},"minutes":{"description":"Window in minutes","type":"integer"}},"required":["service","minutes"]}}
Request 2 - messages (the tool call and its result are now in the history):
{"role":"system","content":"You are an on-call assistant. Use the tools to answer; never guess a status."}
{"role":"user","content":"Is checkout healthy?"}
{"role":"assistant","tool_calls":[{"id":"call_1","function":{"name":"getServiceStatus","arguments":"{\"service\":\"checkout\"}"},"type":"function"}]}
{"role":"tool","content":"\"DEGRADED\"","tool_call_id":"call_1"}