a2aproject / a2aproject/a2a-samples
Bug: Outdated uv.lock files in samples reference older version of a2a-sdk
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 1.8k
- Forks
- 751
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
### 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
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.