diff --git a/docs/bub-agent.md b/docs/bub-agent.md index e3d08d3..aba2216 100644 --- a/docs/bub-agent.md +++ b/docs/bub-agent.md @@ -1,8 +1,8 @@ # Agent integration with Bub main Dohnuts provides one decision tool through Bub. The `agent` extra pins Bub main at -`9bf70488e22a44eeb875a9d55d9a7d352b82e381`. Integration uses its -[Python SDK](https://github.com/bubbuild/bub/blob/9bf70488e22a44eeb875a9d55d9a7d352b82e381/website/src/content/docs/docs/build/sdk.md) +`6f23fee36a8aa55b71d5be015529a4b486b31d89`. Integration uses its +[Python SDK](https://github.com/bubbuild/bub/blob/6f23fee36a8aa55b71d5be015529a4b486b31d89/website/src/content/docs/docs/build/sdk.md) to provide one batch decision tool and persistent session tapes. Follow the [runtime and checkpoint setup](inference.md) first. diff --git a/docs/upstream-alignment.md b/docs/upstream-alignment.md index 6b0acb2..f10a3e7 100644 --- a/docs/upstream-alignment.md +++ b/docs/upstream-alignment.md @@ -2,7 +2,7 @@ References are pinned to Laya `d113dca2512fb3eaca313534bc54c7162d87c1d4`, Laya Vision `86ccec115ef3d72d1851168fc9b7194e8dbed35a`, and Bub main -`9bf70488e22a44eeb875a9d55d9a7d352b82e381`. The training mixture includes upstream public tasks and soft teacher +`6f23fee36a8aa55b71d5be015529a4b486b31d89`. The training mixture includes upstream public tasks and soft teacher labels. Existing Laya weights are benchmark references, not training targets. ## Publicly documented training coverage diff --git a/pdm.lock b/pdm.lock index 55c6994..b99625b 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "agent", "docs", "plot", "quality", "train"] strategy = ["inherit_metadata"] lock_version = "4.5.1" -content_hash = "sha256:8e157c028c923b2178ba79f73968404cd32a8d2ebc4cf52e4b4eff166d8c709a" +content_hash = "sha256:c59298a633d19ccb8424e6c41e01228d97f6d2ebed437e4e8eeada57cbf9d806" [[metadata.targets]] requires_python = "==3.12.*" @@ -287,31 +287,31 @@ files = [ [[package]] name = "bub" -version = "0.4.5.dev9" +version = "0.5.1.dev9" requires_python = "<4.0,>=3.12" git = "https://github.com/bubbuild/bub.git" -ref = "9bf70488e22a44eeb875a9d55d9a7d352b82e381" -revision = "9bf70488e22a44eeb875a9d55d9a7d352b82e381" +ref = "6f23fee36a8aa55b71d5be015529a4b486b31d89" +revision = "6f23fee36a8aa55b71d5be015529a4b486b31d89" summary = "A tiny agent runtime, composable with plugins." groups = ["agent"] marker = "python_version == \"3.12\"" dependencies = [ - "aiohttp>=3.13.3", - "any-llm-sdk[anthropic]", + "aiohttp>=3.14.3", + "any-llm-sdk[anthropic]>=1.22.1", "authlib>=1.7.2", "httpx[socks]>=0.28.1", - "inquirer-textual>=0.5.1", - "loguru>=0.7.2", + "inquirer-textual>=0.8.0", + "loguru>=0.7.3", "pluggy>=1.6.0", - "prompt-toolkit>=3.0.0", - "pydantic-settings>=2.0.0", - "pydantic>=2.0.0", - "python-telegram-bot>=21.0", - "pyyaml>=6.0.0", - "rapidfuzz>=3.14.3", - "rich>=13.0.0", - "typer>=0.9.0", - "typing-extensions>=4.13.0", + "prompt-toolkit>=3.0.52", + "pydantic-settings>=2.14.2", + "pydantic>=2.12.5", + "python-telegram-bot>=22.7", + "pyyaml>=6.0.3", + "rapidfuzz>=3.14.5", + "rich>=14.3.4", + "typer>=0.24.1", + "typing-extensions>=4.15.0", ] [[package]] @@ -963,7 +963,7 @@ files = [ [[package]] name = "inquirer-textual" -version = "0.6.1" +version = "0.8.1" requires_python = "<3.15,>=3.9" summary = "Inquirer based on Textual" groups = ["agent"] @@ -972,8 +972,8 @@ dependencies = [ "textual>=8.2.6", ] files = [ - {file = "inquirer_textual-0.6.1-py3-none-any.whl", hash = "sha256:8e93879e59fcf7b804941672e5efcb0f2aa3a117a36e4cafc2c91fdb6d0a6586"}, - {file = "inquirer_textual-0.6.1.tar.gz", hash = "sha256:d8b0c959e4e58fd730a2fc3da4c92612bef757db1c664399cc7534be8c5b757a"}, + {file = "inquirer_textual-0.8.1-py3-none-any.whl", hash = "sha256:a02e7796322cadc86b9c4978eab036200e8e3f198408dce3a1173c0b4461a7bb"}, + {file = "inquirer_textual-0.8.1.tar.gz", hash = "sha256:1f098d0c4d7b3f4238857c4d9be50ad11e0f304ccf69f50191504cc620a2ec88"}, ] [[package]] @@ -2426,7 +2426,7 @@ version = "2026.4" requires_python = ">=2" summary = "Provider of IANA time zone data" groups = ["train"] -marker = "(sys_platform == \"win32\" or sys_platform == \"emscripten\") and python_version == \"3.12\"" +marker = "(sys_platform == \"emscripten\" or sys_platform == \"win32\") and python_version == \"3.12\"" files = [ {file = "tzdata-2026.4-py2.py3-none-any.whl", hash = "sha256:c2169a8b0a7a5e9674da5a135ccdfb2b3e671b333ed9fed17b41f73c34476e81"}, {file = "tzdata-2026.4.tar.gz", hash = "sha256:f1b8bd365d8d210c55353f4d7f8d6d8561c0ba50d704b700d195a9424bba0d79"}, diff --git a/pyproject.toml b/pyproject.toml index c775edc..ff4529d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ [project.optional-dependencies] train = ["pyarrow>=25", "scikit-learn>=1.9", "pandas>=3.0", "datasets>=4"] -agent = ["bub @ git+https://github.com/bubbuild/bub.git@9bf70488e22a44eeb875a9d55d9a7d352b82e381"] +agent = ["bub @ git+https://github.com/bubbuild/bub.git@6f23fee36a8aa55b71d5be015529a4b486b31d89"] [dependency-groups] quality = ["ruff==0.16.8", "ty==0.0.82", "prek>=0.3.1,<1", "pytest>=9,<10"] diff --git a/src/dohnuts/bub_agent.py b/src/dohnuts/bub_agent.py index 6944b33..aeaac65 100644 --- a/src/dohnuts/bub_agent.py +++ b/src/dohnuts/bub_agent.py @@ -7,7 +7,7 @@ from PIL import Image -BUB_REVISION = "9bf70488e22a44eeb875a9d55d9a7d352b82e381" +BUB_REVISION = "6f23fee36a8aa55b71d5be015529a4b486b31d89" def create_agent(predictor, workspace: Path, tape_directory: Path): diff --git a/tests/acceptance.py b/tests/acceptance.py index 9e82ce5..14a910f 100644 --- a/tests/acceptance.py +++ b/tests/acceptance.py @@ -1,7 +1,6 @@ """Accept an exported checkpoint through prediction, reload, and the real Bub SDK.""" import argparse -import ast import asyncio import gc import json @@ -118,7 +117,7 @@ async def verify(args): command += " image_path=" + shlex.quote(str(image_path.resolve())) stream = await agent.run_stream(session_id="acceptance-" + label, prompt=command) events = [event async for event in stream] - actual = ast.literal_eval(events[-1].data["text"]) + actual = json.loads(events[-1].data["text"]) assert actual == reference, "Bub changed the decision response" responses.append(actual) report = {