File tree Expand file tree Collapse file tree 12 files changed +142
-0
lines changed Expand file tree Collapse file tree 12 files changed +142
-0
lines changed Original file line number Diff line number Diff line change 1414from a2a .types import (
1515 AgentCard ,
1616 GetTaskPushNotificationConfigParams ,
17+ ListTasksParams ,
18+ ListTasksResult ,
1719 Message ,
1820 MessageSendConfiguration ,
1921 MessageSendParams ,
@@ -133,6 +135,15 @@ async def get_task(
133135 """
134136 return await self ._transport .get_task (request , context = context )
135137
138+ async def list_tasks (
139+ self ,
140+ request : ListTasksParams ,
141+ * ,
142+ context : ClientCallContext | None = None ,
143+ ) -> ListTasksResult :
144+ """Retrieves tasks for an agent."""
145+ return await self ._transport .list_tasks (request , context = context )
146+
136147 async def cancel_task (
137148 self ,
138149 request : TaskIdParams ,
Original file line number Diff line number Diff line change 1212from a2a .types import (
1313 AgentCard ,
1414 GetTaskPushNotificationConfigParams ,
15+ ListTasksParams ,
16+ ListTasksResult ,
1517 Message ,
1618 PushNotificationConfig ,
1719 Task ,
@@ -131,6 +133,15 @@ async def get_task(
131133 ) -> Task :
132134 """Retrieves the current state and history of a specific task."""
133135
136+ @abstractmethod
137+ async def list_tasks (
138+ self ,
139+ request : ListTasksParams ,
140+ * ,
141+ context : ClientCallContext | None = None ,
142+ ) -> ListTasksResult :
143+ """Retrieves tasks for an agent."""
144+
134145 @abstractmethod
135146 async def cancel_task (
136147 self ,
Original file line number Diff line number Diff line change 55from a2a .types import (
66 AgentCard ,
77 GetTaskPushNotificationConfigParams ,
8+ ListTasksParams ,
9+ ListTasksResult ,
810 Message ,
911 MessageSendParams ,
1012 Task ,
@@ -50,6 +52,15 @@ async def get_task(
5052 ) -> Task :
5153 """Retrieves the current state and history of a specific task."""
5254
55+ @abstractmethod
56+ async def list_tasks (
57+ self ,
58+ request : ListTasksParams ,
59+ * ,
60+ context : ClientCallContext | None = None ,
61+ ) -> ListTasksResult :
62+ """Retrieves tasks for an agent."""
63+
5364 @abstractmethod
5465 async def cancel_task (
5566 self ,
Original file line number Diff line number Diff line change 2020from a2a .types import (
2121 AgentCard ,
2222 GetTaskPushNotificationConfigParams ,
23+ ListTasksParams ,
24+ ListTasksResult ,
2325 Message ,
2426 MessageSendParams ,
2527 Task ,
@@ -145,6 +147,16 @@ async def get_task(
145147 )
146148 return proto_utils .FromProto .task (task )
147149
150+ async def list_tasks (
151+ self ,
152+ request : ListTasksParams ,
153+ * ,
154+ context : ClientCallContext | None = None ,
155+ ) -> ListTasksResult :
156+ """Retrieves tasks for an agent."""
157+ # TODO: #515 - Implement method
158+ raise NotImplementedError ('tasks/list not implemented' )
159+
148160 async def cancel_task (
149161 self ,
150162 request : TaskIdParams ,
Original file line number Diff line number Diff line change 3030 GetTaskRequest ,
3131 GetTaskResponse ,
3232 JSONRPCErrorResponse ,
33+ ListTasksParams ,
34+ ListTasksResult ,
3335 Message ,
3436 MessageSendParams ,
3537 SendMessageRequest ,
@@ -222,6 +224,16 @@ async def get_task(
222224 raise A2AClientJSONRPCError (response .root )
223225 return response .root .result
224226
227+ async def list_tasks (
228+ self ,
229+ request : ListTasksParams ,
230+ * ,
231+ context : ClientCallContext | None = None ,
232+ ) -> ListTasksResult :
233+ """Retrieves tasks for an agent."""
234+ # TODO: #515 - Implement method
235+ raise NotImplementedError ('tasks/list not implemented' )
236+
225237 async def cancel_task (
226238 self ,
227239 request : TaskIdParams ,
Original file line number Diff line number Diff line change 1717from a2a .types import (
1818 AgentCard ,
1919 GetTaskPushNotificationConfigParams ,
20+ ListTasksParams ,
21+ ListTasksResult ,
2022 Message ,
2123 MessageSendParams ,
2224 Task ,
@@ -222,6 +224,16 @@ async def get_task(
222224 ParseDict (response_data , task )
223225 return proto_utils .FromProto .task (task )
224226
227+ async def list_tasks (
228+ self ,
229+ request : ListTasksParams ,
230+ * ,
231+ context : ClientCallContext | None = None ,
232+ ) -> ListTasksResult :
233+ """Retrieves tasks for an agent."""
234+ # TODO: #515 - Implement method
235+ raise NotImplementedError ('tasks/list not implemented' )
236+
225237 async def cancel_task (
226238 self ,
227239 request : TaskIdParams ,
Original file line number Diff line number Diff line change 3636 JSONRPCRequest ,
3737 JSONRPCResponse ,
3838 ListTaskPushNotificationConfigRequest ,
39+ ListTasksRequest ,
3940 MethodNotFoundError ,
4041 SendMessageRequest ,
4142 SendStreamingMessageRequest ,
@@ -160,6 +161,7 @@ class JSONRPCApplication(ABC):
160161 SendMessageRequest
161162 | SendStreamingMessageRequest
162163 | GetTaskRequest
164+ | ListTasksRequest
163165 | CancelTaskRequest
164166 | SetTaskPushNotificationConfigRequest
165167 | GetTaskPushNotificationConfigRequest
@@ -442,6 +444,10 @@ async def _process_non_streaming_request(
442444 handler_result = await self .handler .on_get_task (
443445 request_obj , context
444446 )
447+ case ListTasksRequest ():
448+ handler_result = await self .handler .list_tasks (
449+ request_obj , context
450+ )
445451 case SetTaskPushNotificationConfigRequest ():
446452 handler_result = (
447453 await self .handler .set_push_notification_config (
Original file line number Diff line number Diff line change 3232 InternalError ,
3333 InvalidParamsError ,
3434 ListTaskPushNotificationConfigParams ,
35+ ListTasksParams ,
36+ ListTasksResult ,
3537 Message ,
3638 MessageSendParams ,
3739 Task ,
@@ -121,6 +123,15 @@ async def on_get_task(
121123 # Apply historyLength parameter if specified
122124 return apply_history_length (task , params .history_length )
123125
126+ async def on_list_tasks (
127+ self ,
128+ params : ListTasksParams ,
129+ context : ServerCallContext | None = None ,
130+ ) -> ListTasksResult :
131+ """Default handler for 'tasks/list'."""
132+ # TODO: #515 - Implement method
133+ raise NotImplementedError ('tasks/list not implemented' )
134+
124135 async def on_cancel_task (
125136 self , params : TaskIdParams , context : ServerCallContext | None = None
126137 ) -> Task | None :
Original file line number Diff line number Diff line change @@ -331,6 +331,23 @@ async def GetTask(
331331 await self .abort_context (e , context )
332332 return a2a_pb2 .Task ()
333333
334+ async def ListTasks (
335+ self ,
336+ request : a2a_pb2 .ListTasksRequest ,
337+ context : grpc .aio .ServicerContext ,
338+ ) -> a2a_pb2 .ListTasksResponse :
339+ """Handles the 'ListTasks' gRPC method.
340+
341+ Args:
342+ request: The incoming `ListTasksRequest` object.
343+ context: Context provided by the server.
344+
345+ Returns:
346+ A `ListTasksResponse` object.
347+ """
348+ # TODO: #515 - Implement method
349+ raise NotImplementedError ('tasks/list not implemented' )
350+
334351 async def GetAgentCard (
335352 self ,
336353 request : a2a_pb2 .GetAgentCardRequest ,
Original file line number Diff line number Diff line change 2828 ListTaskPushNotificationConfigRequest ,
2929 ListTaskPushNotificationConfigResponse ,
3030 ListTaskPushNotificationConfigSuccessResponse ,
31+ ListTasksRequest ,
32+ ListTasksResponse ,
3133 Message ,
3234 SendMessageRequest ,
3335 SendMessageResponse ,
@@ -359,6 +361,23 @@ async def on_get_task(
359361 root = JSONRPCErrorResponse (id = request .id , error = TaskNotFoundError ())
360362 )
361363
364+ async def list_tasks (
365+ self ,
366+ request : ListTasksRequest ,
367+ context : ServerCallContext | None = None ,
368+ ) -> ListTasksResponse :
369+ """Handles the 'tasks/list' JSON-RPC method.
370+
371+ Args:
372+ request: The incoming `ListTasksRequest` object.
373+ context: Context provided by the server.
374+
375+ Returns:
376+ A `ListTasksResponse` object containing the Task or a JSON-RPC error.
377+ """
378+ # TODO: #515 - Implement method
379+ raise NotImplementedError ('tasks/list not implemented' )
380+
362381 async def list_push_notification_config (
363382 self ,
364383 request : ListTaskPushNotificationConfigRequest ,
You can’t perform that action at this time.
0 commit comments