[Feat]: A2A Client Support fallback to re-select url and transport when first choise fails.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Xem bước xây dựng client nơi transport và URL được chọn, có thể nằm trong một class như A2AClientBuilder. Tìm hiểu AgentInterface và logic lựa chọn transport. Cơ chế fallback cần được tích hợp vào phương thức sendRequest để thử lại bằng các transport thay thế khi xảy ra lỗi, có thể sử dụng một ngưỡng cho số lần thất bại. Xem mục 5.6.3 của đặc tả A2A để hiểu bối cảnh về các quy tắc lựa chọn transport.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is your feature request related to a problem? Please describe.
According to the spec of A2A. Clients SHOULD implement fallback logic to try alternative transports if their first choice fails. Whice in No.4 from https://a2a-protocol.org/latest/specification/#563-client-transport-selection-rules.
I see the a2a-java client only choise trasport and url during building step and no the fallback to re-choice in any time. Once the transport that choised request fail, the client will be unavailable and users should re-get agentcard and re-build a2a client to used. I think it's not Graceful degradation.
I'm not sure whether there is plan to implement this feature in a2a-java communities. I’m excited to see this fallback mechanism implemented in the client.
Describe the solution you'd like
I think there are two way to implement this featrure.
-
when client.sendRequest fails with threadhold, client do re-choice transport without current AgentInterface. And let next request use new choised transport.
-
client not only build one best matched transport during building, but build all matched protocol transport and marked which is current choice. When request failed, client do fallback with other protocol transport to do retry.
Describe alternatives you've considered
No response
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
- Ngôn ngữ chính
- Java
- Star
- 495
- Fork
- 174
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 49
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của a2aproject/a2a-java
-
[Bug]: NullPointerException in A2ACommonFieldMapper when a struct field has an explicit null value Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
a2aproject/a2a-java#1160 · 2 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
a2aproject/a2a-java#1158 · 4 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
a2aproject/a2a-java#1142 · 1 người được giao ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
a2aproject/a2a-java#1012 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
a2aproject/a2a-java#464 · 1 bình luận ·
Tất cả issue của a2aproject/a2a-java
Issue tương tự
-
certification
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Đang mởbug ecr
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Needs: Triage Type: Feature request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
AntennaPod/AntennaPod#8794 ·
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
github/copilot-sdk#2760 ·