11import os
2- from typing import AsyncGenerator , Union
2+ from typing import Union , AsyncGenerator
33
44from agentex .lib import adk
5- from agentex .lib .sdk .fastacp .fastacp import FastACP
65from agentex .lib .types .acp import SendMessageParams
7- from agentex .lib .types .llm_messages import AssistantMessage , LLMConfig , SystemMessage , UserMessage
8- from agentex .types .task_message_update import StreamTaskMessageDelta , StreamTaskMessageDone , StreamTaskMessageFull , TaskMessageUpdate
9- from agentex .types .task_message_delta import TextDelta
106from agentex .lib .utils .model_utils import BaseModel
11- from agentex .types .task_message_content import TaskMessageContent , TextContent
7+ from agentex .lib .types .llm_messages import LLMConfig , UserMessage , SystemMessage , AssistantMessage
8+ from agentex .lib .sdk .fastacp .fastacp import FastACP
9+ from agentex .types .task_message_delta import TextDelta
10+ from agentex .types .task_message_update import (
11+ TaskMessageUpdate ,
12+ StreamTaskMessageDone ,
13+ StreamTaskMessageFull ,
14+ StreamTaskMessageDelta ,
15+ )
16+ from agentex .types .task_message_content import TextContent , TaskMessageContent
1217
1318# Create an ACP server
1419acp = FastACP .create (
@@ -36,11 +41,11 @@ async def handle_message_send(
3641 if not params .content :
3742 return
3843
39- if params .content .type != "text" :
40- raise ValueError (f"Expected text message, got { params .content . type } " )
44+ if not hasattr ( params . content , 'type' ) or params .content .type != "text" :
45+ raise ValueError (f"Expected text message, got { getattr ( params .content , ' type' , 'unknown' ) } " )
4146
42- if params .content .author != "user" :
43- raise ValueError (f"Expected user message, got { params .content . author } " )
47+ if not hasattr ( params . content , 'author' ) or params .content .author != "user" :
48+ raise ValueError (f"Expected user message, got { getattr ( params .content , ' author' , 'unknown' ) } " )
4449
4550 if not os .environ .get ("OPENAI_API_KEY" ):
4651 yield StreamTaskMessageFull (
@@ -67,9 +72,9 @@ async def handle_message_send(
6772 llm_messages = [
6873 SystemMessage (content = state .system_prompt ),
6974 * [
70- UserMessage (content = message .content . content ) if message .content . author == "user" else AssistantMessage (content = message .content . content )
75+ UserMessage (content = getattr ( message .content , ' content' , '' )) if getattr ( message .content , ' author' , None ) == "user" else AssistantMessage (content = getattr ( message .content , ' content' , '' ) )
7176 for message in task_messages
72- if message .content and message .content . type == "text"
77+ if message .content and getattr ( message .content , ' type' , None ) == "text"
7378 ]
7479 ]
7580
@@ -92,7 +97,7 @@ async def handle_message_send(
9297 yield StreamTaskMessageDelta (
9398 type = "delta" ,
9499 index = message_index ,
95- delta = TextDelta (text_delta = chunk .choices [0 ].delta .content or "" ),
100+ delta = TextDelta (type = "text" , text_delta = chunk .choices [0 ].delta .content or "" ),
96101 )
97102
98103 yield StreamTaskMessageDone (
0 commit comments