Skip to content

feat: Support Message-only simplified execution without creating Task#956

Open
bartek-w wants to merge 1 commit into1.0-devfrom
bartekw-on-message-unification
Open

feat: Support Message-only simplified execution without creating Task#956
bartek-w wants to merge 1 commit into1.0-devfrom
bartekw-on-message-unification

Conversation

@bartek-w
Copy link
Copy Markdown
Collaborator

@bartek-w bartek-w commented Apr 9, 2026

Fixes #869 🦕

@bartek-w bartek-w changed the base branch from main to 1.0-dev April 9, 2026 14:09
@bartek-w bartek-w force-pushed the bartekw-on-message-unification branch 2 times, most recently from 4fe6f59 to bd8917f Compare April 9, 2026 14:15
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces significant updates to the A2A SDK, including a transition to Protobuf-based serialization, the addition of database migration tools, and support for A2A protocol v1.0. It also adds ITK integration test support and updates dependencies. I have reviewed the configuration files and identified several instances where lists of dependencies and exclusion patterns are not sorted alphabetically, which should be corrected to maintain consistency.

I am having trouble creating individual review comments. Click here to see my feedback.

.github/actions/spelling/excludes.txt (91-96)

low

The newly added exclusion patterns are not sorted alphabetically. Please sort them to maintain consistency with the rest of the file.

.jscpd.json (7)

low

The ignore list is not sorted alphabetically. Sorting it will make it easier to manage as the project grows.

pyproject.toml (16-19)

low

The dependencies list is not sorted alphabetically. Please sort them to maintain consistency.

pyproject.toml (110-112)

low

The dev dependency list is not sorted alphabetically. Please sort them to maintain consistency.

@bartek-w bartek-w force-pushed the bartekw-on-message-unification branch from bd8917f to b5c3e78 Compare April 9, 2026 14:48
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

🧪 Code Coverage (vs 1.0-dev)

⬇️ Download Full Report

Base PR Delta
src/a2a/server/agent_execution/active_task.py 94.06% 94.78% 🟢 +0.72%
src/a2a/server/request_handlers/default_request_handler_v2.py 92.05% 92.24% 🟢 +0.19%
src/a2a/server/tasks/task_manager.py 98.29% 98.32% 🟢 +0.03%
Total 92.33% 92.38% 🟢 +0.05%

Generated by coverage-comment.yml

@bartek-w bartek-w marked this pull request as ready for review April 9, 2026 14:51
@bartek-w bartek-w requested a review from a team as a code owner April 9, 2026 14:51
@bartek-w bartek-w requested a review from ishymko April 9, 2026 14:52
Comment on lines +321 to +322
if isinstance(event, Message):
break
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an invalid state (wrong agent executor implementation), subscribe can happen only against an already running task, so we shouldn't encounter Message here.

Comment on lines +393 to +398
if isinstance(event, Task):
new_task = event
await self._task_manager.save_task_event(
new_task
)
else:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I run tests from #954 against a new executor history assertions fail with message being duplicated. The utility method we have new_task populates first user message in the history. I am not sure if we should rely on it or maybe avoid saving message with the same id?

Either way it's something that changed from the "legacy" executor.

(maybe it's a known issue as a part of enqueue Task TODO)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat]: Improve server concurrency architecture

2 participants