11import asyncio
2- from enum import Enum
32from typing import Callable , Awaitable , Any
43from dataclasses import dataclass
54
109from claude_agent_sdk .types import AssistantMessage , TextBlock , ToolUseBlock
1110
1211from agent_chat_cli .utils .config import load_config
13-
14-
15- class MessageType (Enum ):
16- ASSISTANT = "assistant"
17- INIT = "init"
18- RESULT = "result"
19- STREAM_EVENT = "stream_event"
20- SYSTEM = "system"
21-
22-
23- class ContentType (Enum ):
24- TEXT = "text"
25- TOOL_USE = "tool_use"
12+ from agent_chat_cli .utils .enums import AgentMessageType , ContentType
2613
2714
2815@dataclass
2916class AgentMessage :
30- type : MessageType
17+ type : AgentMessageType
3118 data : Any
3219
3320
@@ -59,22 +46,22 @@ async def start(self) -> None:
5946 async for message in self .client .receive_response ():
6047 await self ._handle_message (message )
6148
62- await self .on_message (AgentMessage (type = MessageType .RESULT , data = None ))
49+ await self .on_message (AgentMessage (type = AgentMessageType .RESULT , data = None ))
6350
6451 async def _handle_message (self , message : Any ) -> None :
6552 if hasattr (message , "event" ):
6653 event = message .event # type: ignore[attr-defined]
6754
68- if event .get ("type" ) == "content_block_delta" :
55+ if event .get ("type" ) == ContentType . CONTENT_BLOCK_DELTA . value :
6956 delta = event .get ("delta" , {})
7057
71- if delta .get ("type" ) == "text_delta" :
58+ if delta .get ("type" ) == ContentType . TEXT_DELTA . value :
7259 text_chunk = delta .get ("text" , "" )
7360
7461 if text_chunk :
7562 await self .on_message (
7663 AgentMessage (
77- type = MessageType .STREAM_EVENT ,
64+ type = AgentMessageType .STREAM_EVENT ,
7865 data = {"text" : text_chunk },
7966 )
8067 )
@@ -99,7 +86,7 @@ async def _handle_message(self, message: Any) -> None:
9986
10087 await self .on_message (
10188 AgentMessage (
102- type = MessageType .ASSISTANT ,
89+ type = AgentMessageType .ASSISTANT ,
10390 data = {"content" : content },
10491 )
10592 )
0 commit comments