77 SendMessageSuccessResponse ,
88 Task ,
99 TaskState ,
10+ SendMessageRequest ,
11+ MessageSendParams ,
12+ GetTaskRequest ,
13+ TaskQueryParams ,
14+ SendStreamingMessageRequest ,
1015)
1116import httpx
1217import traceback
@@ -49,10 +54,11 @@ async def run_single_turn_test(client: A2AClient) -> None:
4954 send_payload = create_send_message_payload (
5055 text = 'how much is 100 USD in CAD?'
5156 )
57+ request = SendMessageRequest (params = MessageSendParams (** send_payload ))
58+
59+ print ('--- Single Turn Request ---' )
5260 # Send Message
53- send_response : SendMessageResponse = await client .send_message (
54- payload = send_payload
55- )
61+ send_response : SendMessageResponse = await client .send_message (request )
5662 print_json_response (send_response , 'Single Turn Request Response' )
5763 if not isinstance (send_response .root , SendMessageSuccessResponse ):
5864 print ('received non-success response. Aborting get task ' )
@@ -66,9 +72,8 @@ async def run_single_turn_test(client: A2AClient) -> None:
6672 print ('---Query Task---' )
6773 # query the task
6874 task_id_payload = {'id' : task_id }
69- get_response : GetTaskResponse = await client .get_task (
70- payload = task_id_payload
71- )
75+ get_request = GetTaskRequest (params = TaskQueryParams (** task_id_payload ))
76+ get_response : GetTaskResponse = await client .get_task (get_request )
7277 print_json_response (get_response , 'Query Task Response' )
7378
7479
@@ -79,8 +84,12 @@ async def run_streaming_test(client: A2AClient) -> None:
7984 text = 'how much is 50 EUR in JPY?'
8085 )
8186
87+ request = SendStreamingMessageRequest (
88+ params = MessageSendParams (** send_payload )
89+ )
90+
8291 print ('--- Single Turn Streaming Request ---' )
83- stream_response = client .send_message_streaming (payload = send_payload )
92+ stream_response = client .send_message_streaming (request )
8493 async for chunk in stream_response :
8594 print_json_response (chunk , 'Streaming Chunk' )
8695
@@ -93,8 +102,11 @@ async def run_multi_turn_test(client: A2AClient) -> None:
93102 first_turn_payload = create_send_message_payload (
94103 text = 'how much is 100 USD?'
95104 )
105+ request1 = SendMessageRequest (
106+ params = MessageSendParams (** first_turn_payload )
107+ )
96108 first_turn_response : SendMessageResponse = await client .send_message (
97- payload = first_turn_payload
109+ request1
98110 )
99111 print_json_response (first_turn_response , 'Multi-Turn: First Turn Response' )
100112
@@ -111,9 +123,10 @@ async def run_multi_turn_test(client: A2AClient) -> None:
111123 second_turn_payload = create_send_message_payload (
112124 'in GBP' , task .id , context_id
113125 )
114- second_turn_response = await client . send_message (
115- payload = second_turn_payload
126+ request2 = SendMessageRequest (
127+ params = MessageSendParams ( ** second_turn_payload )
116128 )
129+ second_turn_response = await client .send_message (request2 )
117130 print_json_response (
118131 second_turn_response , 'Multi-Turn: Second Turn Response'
119132 )
0 commit comments