Skip to content

Commit c6ea6f3

Browse files
authored
feat: Update A2A types from specification 🤖 (#256)
This PR updates `src/a2a/types.py` based on the latest `specification/json/a2a.json` from [a2aproject/A2A](a2aproject/A2A@3590012).
1 parent 6de1b66 commit c6ea6f3

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

src/a2a/types.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ class AgentSkill(BaseModel):
106106
Description of the skill - will be used by the client or a human
107107
as a hint to understand what the skill does.
108108
"""
109-
examples: list[str] | None = None
109+
examples: list[str] | None = Field(
110+
default=None, examples=[['I need a recipe for bread']]
111+
)
110112
"""
111113
The set of example scenarios that the skill can perform.
112114
Will be used by the client as a hint to understand how the skill can be used.
@@ -129,7 +131,7 @@ class AgentSkill(BaseModel):
129131
"""
130132
Supported media types for output.
131133
"""
132-
tags: list[str]
134+
tags: list[str] = Field(..., examples=[['cooking', 'customer support', 'billing']])
133135
"""
134136
Set of tagwords describing classes of capabilities for this specific skill.
135137
"""
@@ -1038,7 +1040,7 @@ class GetTaskPushNotificationConfigRequest(BaseModel):
10381040
params: TaskIdParams | GetTaskPushNotificationConfigParams
10391041
"""
10401042
A Structured value that holds the parameter values to be used during the invocation of the method.
1041-
TaskIdParams type is deprecated for this method
1043+
TaskIdParams type is deprecated for this method use `GetTaskPushNotificationConfigParams` instead.
10421044
"""
10431045

10441046

@@ -1493,7 +1495,7 @@ class TaskStatus(BaseModel):
14931495
Additional status updates for client
14941496
"""
14951497
state: TaskState
1496-
timestamp: str | None = None
1498+
timestamp: str | None = Field(default=None, examples=['2023-10-27T10:00:00Z'])
14971499
"""
14981500
ISO 8601 datetime string when the status was recorded.
14991501
"""
@@ -1586,7 +1588,9 @@ class AgentCard(BaseModel):
15861588
"""
15871589
Supported media types for output.
15881590
"""
1589-
description: str
1591+
description: str = Field(
1592+
..., examples=['Agent that helps users with recipes and cooking.']
1593+
)
15901594
"""
15911595
A human-readable description of the agent. Used to assist users and
15921596
other agents in understanding what the agent can do.
@@ -1599,7 +1603,7 @@ class AgentCard(BaseModel):
15991603
"""
16001604
A URL to an icon for the agent.
16011605
"""
1602-
name: str
1606+
name: str = Field(..., examples=['Recipe Agent'])
16031607
"""
16041608
Human readable name of the agent.
16051609
"""
@@ -1633,7 +1637,7 @@ class AgentCard(BaseModel):
16331637
A URL to the address the agent is hosted at. This represents the
16341638
preferred endpoint as declared by the agent.
16351639
"""
1636-
version: str
1640+
version: str = Field(..., examples=['1.0.0'])
16371641
"""
16381642
The version of the agent - format is up to the provider.
16391643
"""
@@ -1770,6 +1774,8 @@ class JSONRPCResponse(
17701774
| CancelTaskSuccessResponse
17711775
| SetTaskPushNotificationConfigSuccessResponse
17721776
| GetTaskPushNotificationConfigSuccessResponse
1777+
| ListTaskPushNotificationConfigSuccessResponse
1778+
| DeleteTaskPushNotificationConfigSuccessResponse
17731779
]
17741780
):
17751781
root: (
@@ -1780,6 +1786,8 @@ class JSONRPCResponse(
17801786
| CancelTaskSuccessResponse
17811787
| SetTaskPushNotificationConfigSuccessResponse
17821788
| GetTaskPushNotificationConfigSuccessResponse
1789+
| ListTaskPushNotificationConfigSuccessResponse
1790+
| DeleteTaskPushNotificationConfigSuccessResponse
17831791
)
17841792
"""
17851793
Represents a JSON-RPC 2.0 Response object.

0 commit comments

Comments
 (0)