Skip to content

Commit 0c9df12

Browse files
authored
feat: Add timestamp to TaskStatus updates on TaskUpdater (#140)
1 parent 88d45eb commit 0c9df12

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/a2a/server/tasks/task_updater.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import uuid
22

3+
from datetime import datetime, timezone
34
from typing import Any
45

56
from a2a.server.events import EventQueue
@@ -34,15 +35,23 @@ def __init__(self, event_queue: EventQueue, task_id: str, context_id: str):
3435
self.context_id = context_id
3536

3637
def update_status(
37-
self, state: TaskState, message: Message | None = None, final=False
38+
self,
39+
state: TaskState,
40+
message: Message | None = None,
41+
final=False,
42+
timestamp: str | None = None,
3843
):
3944
"""Updates the status of the task and publishes a `TaskStatusUpdateEvent`.
4045
4146
Args:
4247
state: The new state of the task.
4348
message: An optional message associated with the status update.
4449
final: If True, indicates this is the final status update for the task.
50+
timestamp: Optional ISO 8601 datetime string. Defaults to current time.
4551
"""
52+
current_timestamp = (
53+
timestamp if timestamp else datetime.now(timezone.utc).isoformat()
54+
)
4655
self.event_queue.enqueue_event(
4756
TaskStatusUpdateEvent(
4857
taskId=self.task_id,
@@ -51,6 +60,7 @@ def update_status(
5160
status=TaskStatus(
5261
state=state,
5362
message=message,
63+
timestamp=current_timestamp,
5464
),
5565
)
5666
)

0 commit comments

Comments
 (0)