5252 TaskNotFoundError ,
5353 UnsupportedOperationError ,
5454)
55- from a2a .utils .task import apply_history_length
55+ from a2a .utils .task import (
56+ apply_history_length ,
57+ validate_history_length ,
58+ validate_page_size ,
59+ )
5660from a2a .utils .telemetry import SpanKind , trace_class
5761
5862
@@ -122,6 +126,8 @@ async def on_get_task(
122126 context : ServerCallContext | None = None ,
123127 ) -> Task | None :
124128 """Default handler for 'tasks/get'."""
129+ validate_history_length (params )
130+
125131 task_id = params .id
126132 task : Task | None = await self .task_store .get (task_id , context )
127133 if not task :
@@ -135,6 +141,10 @@ async def on_list_tasks(
135141 context : ServerCallContext | None = None ,
136142 ) -> ListTasksResponse :
137143 """Default handler for 'tasks/list'."""
144+ validate_history_length (params )
145+ if params .HasField ('page_size' ):
146+ validate_page_size (params .page_size )
147+
138148 page = await self .task_store .list (params , context )
139149 for task in page .tasks :
140150 if not params .include_artifacts :
@@ -327,6 +337,8 @@ async def on_message_send(
327337 Starts the agent execution for the message and waits for the final
328338 result (Task or Message).
329339 """
340+ validate_history_length (params .configuration )
341+
330342 (
331343 _task_manager ,
332344 task_id ,
0 commit comments