Skip to content

build(deps): bump ag-ui-langgraph from 0.0.41 to 0.0.42#1324

Merged
srtab merged 1 commit into
mainfrom
dependabot/uv/ag-ui-langgraph-0.0.42
Jun 30, 2026
Merged

build(deps): bump ag-ui-langgraph from 0.0.41 to 0.0.42#1324
srtab merged 1 commit into
mainfrom
dependabot/uv/ag-ui-langgraph-0.0.42

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 19, 2026

Copy link
Copy Markdown
Contributor

Bumps ag-ui-langgraph from 0.0.41 to 0.0.42.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps ag-ui-langgraph from 0.0.41 to 0.0.42.

---
updated-dependencies:
- dependency-name: ag-ui-langgraph
  dependency-version: 0.0.42
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jun 19, 2026
@srtab

srtab commented Jun 30, 2026

Copy link
Copy Markdown
Owner

@daiv-agent what's the implications upgrading this package?

@daiv-agent

daiv-agent Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Confirmed: copilotkit.LangGraphAGUIAgent is a subclass of ag_ui_langgraph.LangGraphAgent. This is the critical coupling point — daiv's RuntimeContextLangGraphAGUIAgent extends LangGraphAGUIAgent, which extends LangGraphAgent, and overrides get_stream_kwargs. The 0.0.42 release modifies get_stream_kwargs in agent.py.

I now have everything needed to give a complete assessment.


Implications of upgrading ag-ui-langgraph 0.0.41 → 0.0.42

This is a patch bump but it carries non-trivial behavioral changes in the exact code paths daiv depends on. daiv is tightly coupled to this package — not just as a transitive dep, but through a subclass and a large workaround layer. Here's the breakdown.

How daiv uses the package

  • daiv doesn't call ag_ui_langgraph directly. It subclasses copilotkit.LangGraphAGUIAgent (itself a subclass of ag_ui_langgraph.LangGraphAgent) in daiv/chat/api/streaming.py:40, and overrides get_stream_kwargs to inject a RuntimeCtx dataclass as context.
  • daiv/chat/api/event_filter.py is a ~150-line filter that exists entirely to patch three upstream bugs in ag_ui_langgraph's event translation (dropped TOOL_CALL_START on text→tool transitions, nested subgraph leakage, and misrouted args for parallel tool calls).
  • daiv/chat/turns.py:93 mirrors the shapes ag_ui_langgraph.resolve_reasoning_content recognizes.
  • The diff_to_metadata graph relies on emit-messages: False being honored by ag_ui_langgraph (daiv/automation/agent/diff_to_metadata/graph.py:134).

What changed upstream (0.0.41 → 0.0.42)

I pulled the actual source diff. Four files changed in the ag_ui_langgraph package:

  1. agent.pyget_stream_kwargs (the method daiv overrides): Now also accepts context when astream_events exposes it via **kwargs (VAR_KEYWORD), not just a named context parameter. daiv's override calls super().get_stream_kwargs() and then setdefault("context", ...), so this is compatible — daiv's setdefault still wins. Low risk, but it's the exact method daiv subclasses.

  2. agent.pyprepare_regenerate_stream: Now merges the caller's config under the fork (merge_configs(config, fork)) so recursion_limit and callbacks aren't dropped. Fixes upstream #1749. This is a pure bug fix; daiv doesn't override this method. Beneficial.

  3. agent.py — tool call event message_id/parent_message_id: TOOL_CALL_RESULT and TOOL_CALL_START now use str(tool_msg.id or tool_msg.tool_call_id) instead of a fresh uuid4(), so MESSAGES_SNAPSHOT merge works. This changes the values of message_id/parent_message_id on the wire. daiv's SubagentEventFilter keys dedup logic on tool_call_id (not message_id), so the filter should be unaffected — but the chat-stream.js client and turns.py should be checked if they ever key off message_id.

  4. agent.py + utils.py — reasoning content handling: Substantial rework of resolve_reasoning_content and the message converters (langchain_messages_to_agui / agui_messages_to_langchain). Reasoning blocks now round-trip as standalone ReasoningMessages with the provider's canonical id (rs_…), and handle_reasoning_event now stashes a pending_reasoning_id for text-less chunks. daiv's turns.py only mirrors the shapes resolve_reasoning_content recognizes (for its own _reasoning_from_additional_kwargs); it doesn't call the upstream function. The shapes it mirrors are unchanged (still reasoning.summary[*].text and reasoning_content string), so turns.py is safe.

  5. a2ui_tool.py — A2UI tool became async / streaming: generate_a2ui is now async and streams the subagent. daiv does not use get_a2ui_tools at all (no imports of it in daiv/), so this is irrelevant to daiv.

  6. New transitive dep: ag-ui-a2ui-toolkit bumped 0.0.3 → 0.0.4 and is now imported by agent.py (split_a2ui_schema_context). It was already a transitive dep of ag-ui-langgraph, so the lock update is expected.

Risk assessment

Area Risk Notes
get_stream_kwargs override Low daiv's setdefault("context", ...) still takes precedence; upstream's **kwargs path is additive
SubagentEventFilter workarounds Medium — needs verification The filter patches upstream bugs #1 (dropped TOOL_CALL_START) and #3 (parallel-call arg misrouting). 0.0.42 does not fix these — the changed code is in on_tool_end re-emit and reasoning, not in on_chat_model_stream's tool-call-start detection. The filter is still needed. But the message_id value change (#3 above) means the filter's dedup-by-tool_call_id logic should be re-verified against the new wire format.
Reasoning round-trip Low turns.py mirrors shapes that are unchanged; daiv doesn't call the changed functions
prepare_regenerate_stream Low (beneficial) Pure bug fix; daiv doesn't override it
A2UI tool None daiv doesn't use get_a2ui_tools
Lockfile / deps Low ag-ui-a2ui-toolkit 0.0.3→0.0.4 is already a transitive dep

Recommendation

The upgrade is safe to take but is not a no-op. Before merging:

  1. Run the chat unit teststests/unit_tests/chat/api/test_event_filter.py and test_streaming.py are the regression net for the workaround layer. These must pass unchanged. (I couldn't run them here — uv/deps aren't installed in this sandbox.)
  2. Manually verify a multi-tool-call turn in the chat UI, since the message_id/parent_message_id wire values changed and the filter's correctness depends on the upstream event sequence staying the same.
  3. The SubagentEventFilter workarounds (bugs Added ability to the assistant ask questions to the user on the discussion. #1 and Create dependabot.yml #3) are still required — 0.0.42 doesn't touch on_chat_model_stream's tool-call-start path. Don't remove the filter.

If the unit tests pass, this is a low-risk upgrade that brings a useful prepare_regenerate_stream fix. If you want, I can attempt to install deps and run the chat test suite to confirm.

@srtab srtab merged commit 33ec327 into main Jun 30, 2026
4 checks passed
@srtab srtab deleted the dependabot/uv/ag-ui-langgraph-0.0.42 branch June 30, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant