Skip to content

fix(a2a): return long_running_tool_ids from the message and artifact update converters - #6989

Open
Yatsuiii wants to merge 1 commit into
google:mainfrom
Yatsuiii:fix/a2a-inbound-long-running-tool-ids
Open

fix(a2a): return long_running_tool_ids from the message and artifact update converters#6989
Yatsuiii wants to merge 1 commit into
google:mainfrom
Yatsuiii:fix/a2a-inbound-long-running-tool-ids

Conversation

@Yatsuiii

@Yatsuiii Yatsuiii commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

_convert_a2a_parts_to_adk_parts recovers long-running function call ids from
the is_long_running part marker for all four inbound converters. Two of them
discard the result before building the Event.

converter passes ids to _create_event
convert_a2a_task_to_event yes
convert_a2a_status_update_to_event yes
convert_a2a_message_to_event no
convert_a2a_artifact_update_to_event no

Both failing sites now keep the ids and pass them positionally, matching the
two that already worked.

Behaviour change

Both are defaults on A2aRemoteAgentConfig. On the new integration extension
path _should_pause_invocation saw an empty long_running_tool_ids and did
not pause, so a long-running call ran on as if it had completed. It now pauses,
matching the legacy event_converter path.

Tests

One parametrized case across all four converters. Without the source change it
fails on message and artifact_update and passes on the other two.
tests/unittests/a2a is green: 460 passed, 48 skipped.

Fixes #6988

…update converters

_convert_a2a_parts_to_adk_parts recovers long-running function call ids
from the is_long_running part marker for all four inbound converters.
convert_a2a_message_to_event and convert_a2a_artifact_update_to_event
discarded that result and never passed it to _create_event, so the
returned Event had long_running_tool_ids=None, while
convert_a2a_task_to_event and convert_a2a_status_update_to_event
populate it from the same marker.

Both are defaults on A2aRemoteAgentConfig, so on the new integration
extension path a long-running call arrived looking complete and
_should_pause_invocation did not pause. Adds coverage across all four
converters.

Fixes google#6988
@Yatsuiii
Yatsuiii force-pushed the fix/a2a-inbound-long-running-tool-ids branch from 0054de6 to f9b865d Compare September 2, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant