Skip to content

Bug: Outdated uv.lock files in samples reference older version of a2a-sdk #399

@Hugo-Pare

Description

@Hugo-Pare

What happened?

Description

The uv.lock files across the a2a-samples repository are referencing an outdated version of the a2a-sdk package, which contains a known bug that has since been fixed. While the bug fix is already available in the a2a-sdk package, the lock files in the samples have not been updated, potentially causing issues for users working with the sample code.

Root Cause

The lock files are pinned to an older version of a2a-sdk that includes a bug related to UUID structure enforcement on context IDs in tasks. Although this bug has been fixed in the a2a-sdk package, the uv.lock files have not been regenerated to reflect the updated dependency, indicating a possible oversight in repository maintenance.

Impact

  • Local server: Not affected, as it uses the updated a2a-sdk package with the bug fix
  • Sample users: May encounter issues due to outdated dependencies when running or testing the samples
  • Repository maintenance: Suggests a gap in the process for keeping sample dependencies current

Expected Behavior and Requested Action

All uv.lock files within each of the samples should reference the latest stable version of the a2a-sdk package that includes the bug fix. The requested action is to update all uv.lock files across the samples directory to ensure they use the current version of a2a-sdk.

References

Suggested Solution

  1. Navigate to each sample directory containing a uv.lock file
  2. Run the appropriate dependency update command (e.g., uv lock --upgrade or equivalent)
  3. Verify that the lock file now references the latest version of a2a-sdk
  4. Test the samples to ensure they work correctly with the updated dependencies
  5. Commit and push the updated lock files

Relevant log output

ERROR:a2a.server.request_handlers.default_request_handler:Agent execution failed. Error: Invalid context_id: 'xxxxxxxx' is not a valid UUID.
ERROR:a2a.server.apps.jsonrpc.jsonrpc_app:Unhandled exception: Invalid context_id: 'xxxxxxxx' is not a valid UUID.
Traceback (most recent call last):
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/task.py", line 34, in new_task
    uuid.UUID(context_id_str)
  File "/usr/lib64/python3.12/uuid.py", line 178, in __init__
    raise ValueError('badly formed hexadecimal UUID string')
ValueError: badly formed hexadecimal UUID string

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/apps/jsonrpc/jsonrpc_app.py", line 257, in _handle_requests
    return await self._process_non_streaming_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/apps/jsonrpc/jsonrpc_app.py", line 344, in _process_non_streaming_request
    handler_result = await self.handler.on_message_send(
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/telemetry.py", line 194, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/request_handlers/jsonrpc_handler.py", line 102, in on_message_send
    task_or_message = await self.request_handler.on_message_send(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/telemetry.py", line 194, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/request_handlers/default_request_handler.py", line 315, in on_message_send
    await self._cleanup_producer(producer_task, task_id)
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/telemetry.py", line 194, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/request_handlers/default_request_handler.py", line 364, in _cleanup_producer
    await producer_task
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/telemetry.py", line 194, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/server/request_handlers/default_request_handler.py", line 172, in _run_event_stream
    await self.agent_executor.execute(request, queue)
  File "/opt/app-root/app/agent_executor.py", line 45, in execute
    task = new_task(context.message)  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/.venv/lib64/python3.12/site-packages/a2a/utils/task.py", line 37, in new_task
    raise ValueError(
ValueError: Invalid context_id: 'xxxxxxxx' is not a valid UUID.
ERROR:a2a.server.apps.jsonrpc.jsonrpc_app:Request Error (ID: yyyyyyyy): Code=-32603, Message='Invalid context_id: 'xxxxxxxx' is not a valid UUID.'

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions