Wire AG-UI state round-tripping in app backend

This commit is contained in:
Yiorgis Gozadinos 2026-02-20 13:20:11 +02:00
parent 696f8598eb
commit 972fb18d30
No known key found for this signature in database
3 changed files with 8 additions and 7 deletions

View file

@ -17,7 +17,7 @@ from haiku.rag.client import HaikuRAG
from haiku.rag.config import load_yaml_config from haiku.rag.config import load_yaml_config
from haiku.rag.config.models import AppConfig from haiku.rag.config.models import AppConfig
from haiku.rag.skills.rag import create_skill from haiku.rag.skills.rag import create_skill
from haiku.skills.agent import SkillToolset from haiku.skills import SkillDeps, SkillToolset
load_dotenv(find_dotenv(usecwd=True)) load_dotenv(find_dotenv(usecwd=True))
@ -80,6 +80,7 @@ agent = Agent(
os.getenv("HAIKU_CHAT_MODEL", "openai:gpt-4o"), os.getenv("HAIKU_CHAT_MODEL", "openai:gpt-4o"),
instructions=AGENT_PREAMBLE + toolset.system_prompt, instructions=AGENT_PREAMBLE + toolset.system_prompt,
toolsets=[toolset], toolsets=[toolset],
deps_type=SkillDeps,
) )
@ -90,7 +91,7 @@ async def stream_chat(request: Request) -> Response:
run_input = AGUIAdapter.build_run_input(body) run_input = AGUIAdapter.build_run_input(body)
adapter = AGUIAdapter(agent=agent, run_input=run_input, accept=accept) adapter = AGUIAdapter(agent=agent, run_input=run_input, accept=accept)
event_stream = adapter.run_stream() event_stream = adapter.run_stream(deps=SkillDeps())
sse_event_stream = adapter.encode_stream(event_stream) sse_event_stream = adapter.encode_stream(event_stream)
return StreamingResponse( return StreamingResponse(

View file

@ -24,7 +24,7 @@ classifiers = [
dependencies = [ dependencies = [
"cachetools>=5.5.0", "cachetools>=5.5.0",
"docling-core==2.65.1", "docling-core==2.65.1",
"haiku.skills>=0.4.0", "haiku.skills>=0.4.2",
"httpx>=0.28.1", "httpx>=0.28.1",
"jsonpatch>=1.33", "jsonpatch>=1.33",
"lancedb==0.29.2", "lancedb==0.29.2",

View file

@ -1513,7 +1513,7 @@ requires-dist = [
{ name = "cohere", marker = "extra == 'cohere'", specifier = ">=5.20.1" }, { name = "cohere", marker = "extra == 'cohere'", specifier = ">=5.20.1" },
{ name = "docling", marker = "extra == 'docling'", specifier = "==2.73.1" }, { name = "docling", marker = "extra == 'docling'", specifier = "==2.73.1" },
{ name = "docling-core", specifier = "==2.65.1" }, { name = "docling-core", specifier = "==2.65.1" },
{ name = "haiku-skills", specifier = ">=0.4.0" }, { name = "haiku-skills", specifier = ">=0.4.2" },
{ name = "httpx", specifier = ">=0.28.1" }, { name = "httpx", specifier = ">=0.28.1" },
{ name = "jsonpatch", specifier = ">=1.33" }, { name = "jsonpatch", specifier = ">=1.33" },
{ name = "lancedb", specifier = "==0.29.2" }, { name = "lancedb", specifier = "==0.29.2" },
@ -1544,7 +1544,7 @@ provides-extras = ["docling", "voyageai", "mxbai", "cohere", "zeroentropy", "jin
[[package]] [[package]]
name = "haiku-skills" name = "haiku-skills"
version = "0.4.0" version = "0.4.2"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ dependencies = [
{ name = "pydantic" }, { name = "pydantic" },
@ -1552,9 +1552,9 @@ dependencies = [
{ name = "pyyaml" }, { name = "pyyaml" },
{ name = "skills-ref" }, { name = "skills-ref" },
] ]
sdist = { url = "https://files.pythonhosted.org/packages/f7/3b/7545006f8e034926b615fdc09a61340f87a2ddb288c96af9532f490c089e/haiku_skills-0.4.0.tar.gz", hash = "sha256:98d6c454da419f31fb8275608bf5ef057c6e7fa9cfecd594d0958617633a479c", size = 159518, upload-time = "2026-02-19T13:36:22.887Z" } sdist = { url = "https://files.pythonhosted.org/packages/3b/13/96cb8124fd47d9f7b752f835b8c751bc67908a061a53a2ba392509d1fe68/haiku_skills-0.4.2.tar.gz", hash = "sha256:4846e7ebc1c7919faa576badd77723a0d681cf3a92d90f7b97edf3f6eca8ea8d", size = 119892, upload-time = "2026-02-20T11:18:47.434Z" }
wheels = [ wheels = [
{ url = "https://files.pythonhosted.org/packages/da/6e/340c6162b1de5cdefdd532c435e08eb053920c07b880c87c8d901c046192/haiku_skills-0.4.0-py3-none-any.whl", hash = "sha256:d12b6cfdfb276ba902d9e98a5582b408e0f1e6989c513bccdf45438ec80f2d38", size = 20565, upload-time = "2026-02-19T13:36:21.35Z" }, { url = "https://files.pythonhosted.org/packages/c5/77/2f94bf41b4b0f0af62431f9c9753db9343a44d1012cadb2e277210b69dae/haiku_skills-0.4.2-py3-none-any.whl", hash = "sha256:08ec15f3a9c894ef33d989850e2b73e78a2a9364056e997bff7cd910a0c4cfe9", size = 21077, upload-time = "2026-02-20T11:18:45.593Z" },
] ]
[[package]] [[package]]