Skip to content

Commit 74a1537

Browse files
committed
wip
1 parent 644b0f5 commit 74a1537

6 files changed

Lines changed: 19 additions & 22 deletions

File tree

src/a2a/helpers/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
new_artifact,
1010
new_message,
1111
new_task,
12-
new_task_from_request,
12+
new_task_from_user_message,
1313
new_text_artifact,
1414
new_text_artifact_update_event,
1515
new_text_message,
@@ -25,7 +25,7 @@
2525
'new_artifact',
2626
'new_message',
2727
'new_task',
28-
'new_task_from_request',
28+
'new_task_from_user_message',
2929
'new_text_artifact',
3030
'new_text_artifact_update_event',
3131
'new_text_message',

src/a2a/helpers/types.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -97,21 +97,19 @@ def get_artifact_text(artifact: Artifact, delimiter: str = '\n') -> str:
9797
# --- Task Helpers ---
9898

9999

100-
def new_task_from_request(request: Message) -> Task:
100+
def new_task_from_user_message(user_message: Message) -> Task:
101101
"""Creates a new Task object from an initial user message."""
102-
if not request.role:
103-
raise TypeError('Message role cannot be None')
104-
if not request.parts:
102+
if not user_message.parts:
105103
raise ValueError('Message parts cannot be empty')
106-
for part in request.parts:
104+
for part in user_message.parts:
107105
if part.HasField('text') and not part.text:
108106
raise ValueError('Message.text cannot be empty')
109107

110108
return Task(
111109
status=TaskStatus(state=TaskState.TASK_STATE_SUBMITTED),
112-
id=request.task_id or str(uuid.uuid4()),
113-
context_id=request.context_id or str(uuid.uuid4()),
114-
history=[request],
110+
id=user_message.task_id or str(uuid.uuid4()),
111+
context_id=user_message.context_id or str(uuid.uuid4()),
112+
history=[user_message],
115113
)
116114

117115

@@ -123,13 +121,12 @@ def new_task(
123121
history: list[Message] | None = None,
124122
) -> Task:
125123
"""Creates a Task object with a specified status."""
126-
if not artifacts or not all(isinstance(a, Artifact) for a in artifacts):
127-
raise ValueError(
128-
'artifacts must be a non-empty list of Artifact objects'
129-
)
130124

131125
if history is None:
132126
history = []
127+
if artifacts is None:
128+
artifacts = []
129+
133130
return Task(
134131
status=TaskStatus(state=state),
135132
id=task_id,

tests/e2e/push_notifications/agent_app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
)
2727
from a2a.helpers.types import (
2828
new_text_message,
29-
new_task_from_request,
29+
new_task_from_user_message,
3030
)
3131

3232

@@ -124,7 +124,7 @@ async def execute(
124124

125125
task = context.current_task
126126
if not task:
127-
task = new_task_from_request(context.message)
127+
task = new_task_from_user_message(context.message)
128128
await event_queue.enqueue_event(task)
129129
updater = TaskUpdater(event_queue, task.id, task.context_id)
130130

tests/integration/test_end_to_end.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
a2a_pb2_grpc,
3939
)
4040
from a2a.utils import TransportProtocol
41-
from a2a.helpers.types import new_task_from_request
41+
from a2a.helpers.types import new_task_from_user_message
4242
from a2a.utils.errors import InvalidParamsError
4343

4444

@@ -102,7 +102,7 @@ async def execute(self, context: RequestContext, event_queue: EventQueue):
102102
# Task-based response.
103103
task = context.current_task
104104
if not task:
105-
task = new_task_from_request(context.message)
105+
task = new_task_from_user_message(context.message)
106106
await event_queue.enqueue_event(task)
107107

108108
task_updater = TaskUpdater(

tests/server/request_handlers/test_default_request_handler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
TaskStatus,
7474
TaskStatusUpdateEvent,
7575
)
76-
from a2a.helpers.types import new_text_message, new_task_from_request
76+
from a2a.helpers.types import new_text_message, new_task_from_user_message
7777

7878

7979
class MockAgentExecutor(AgentExecutor):
@@ -957,7 +957,7 @@ async def execute(self, context: RequestContext, event_queue: EventQueue):
957957
assert context.message is not None, (
958958
'A message is required to create a new task'
959959
)
960-
task = new_task_from_request(context.message) # type: ignore
960+
task = new_task_from_user_message(context.message) # type: ignore
961961
await event_queue.enqueue_event(task)
962962
updater = TaskUpdater(event_queue, task.id, task.context_id)
963963

tests/server/request_handlers/test_default_request_handler_v2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
TaskState,
5555
TaskStatus,
5656
)
57-
from a2a.helpers.types import new_text_message, new_task_from_request
57+
from a2a.helpers.types import new_text_message, new_task_from_user_message
5858

5959

6060
def create_default_agent_card():
@@ -274,7 +274,7 @@ async def execute(self, context: RequestContext, event_queue: EventQueue):
274274
assert context.message is not None, (
275275
'A message is required to create a new task'
276276
)
277-
task = new_task_from_request(context.message)
277+
task = new_task_from_user_message(context.message)
278278
await event_queue.enqueue_event(task)
279279
updater = TaskUpdater(event_queue, task.id, task.context_id)
280280
try:

0 commit comments

Comments
 (0)