a2aproject / a2aproject/a2a-samples

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

Đang mở
#399 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Jupyter Notebook
Star
1.8k
Fork
751
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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
- Last `uv.lock` update for `langgraph` sample: [August 8, 2025](https://github.com/a2aproject/a2a-samples/commit/1cce9a59dc31945da9421155bb862549665b0125)
- Breaking changes in `a2a-sdk`: [August 22, 2025](https://github.com/a2aproject/a2a-python/commit/e3a7207164503f64900feaa4ef470d37fb2bb145)

### 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

```shell
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

- [x] I agree to follow this project's Code of Conduct

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.