Skip to content

Conversation

@bokelley
Copy link
Contributor

Summary

Extend response parsing to handle protocol-level fields (message, context_id, task_id, status, timestamp) that A2A servers may include alongside task data. These are now separated during validation to prevent schema mismatches, then preserved at the TaskResult level.

Changes

  • Add _extract_task_data() function to separate protocol fields from task data
  • Handle three response formats: wrapped data field, wrapped payload field, and fields mixed directly
  • Try extraction fallback when direct validation fails
  • Comprehensive test coverage for all extraction scenarios

Resolves #109.

bokelley and others added 2 commits December 30, 2025 06:09
Extend response parsing to handle protocol-level fields (message, context_id,
task_id, status, timestamp) that A2A servers may include alongside task data.
These are now separated during validation to prevent schema mismatches, then
preserved at the TaskResult level.

Resolves #109.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@bokelley bokelley merged commit ae71b65 into main Dec 30, 2025
8 checks passed
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.

A2A responses fail validation due to strict 'extra inputs not permitted'

2 participants