Skip to content

Commit d34bbd5

Browse files
committed
chore: cleanup
1 parent 9b8b3db commit d34bbd5

File tree

4 files changed

+32
-26
lines changed

4 files changed

+32
-26
lines changed

src/agent_chat_cli/utils/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
"""Utility modules for Agent Chat CLI."""
22

3-
from agent_chat_cli.utils.agent_loop import AgentLoop, AgentMessage, MessageType
3+
from agent_chat_cli.utils.agent_loop import AgentLoop, AgentMessage
4+
from agent_chat_cli.utils.enums import AgentMessageType, ContentType
45
from agent_chat_cli.utils.tool_info import ToolInfo, get_tool_info
56
from agent_chat_cli.utils.format_tool_input import format_tool_input
67

78
__all__ = [
89
"AgentLoop",
910
"AgentMessage",
10-
"MessageType",
11+
"AgentMessageType",
12+
"ContentType",
1113
"ToolInfo",
1214
"get_tool_info",
1315
"format_tool_input",

src/agent_chat_cli/utils/agent_loop.py

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import asyncio
2-
from enum import Enum
32
from typing import Callable, Awaitable, Any
43
from dataclasses import dataclass
54

@@ -10,24 +9,12 @@
109
from claude_agent_sdk.types import AssistantMessage, TextBlock, ToolUseBlock
1110

1211
from 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
2916
class 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
)

src/agent_chat_cli/utils/enums.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from enum import Enum
2+
3+
4+
class AgentMessageType(Enum):
5+
ASSISTANT = "assistant"
6+
INIT = "init"
7+
RESULT = "result"
8+
STREAM_EVENT = "stream_event"
9+
SYSTEM = "system"
10+
11+
12+
class ContentType(Enum):
13+
TEXT = "text"
14+
TOOL_USE = "tool_use"
15+
CONTENT_BLOCK_DELTA = "content_block_delta"
16+
TEXT_DELTA = "text_delta"

src/agent_chat_cli/utils/message_bus.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
AgentMessage as AgentMessageWidget,
1111
ToolMessage,
1212
)
13-
from agent_chat_cli.utils.agent_loop import AgentMessage, MessageType, ContentType
13+
from agent_chat_cli.utils.agent_loop import AgentMessage
14+
from agent_chat_cli.utils.enums import AgentMessageType, ContentType
1415

1516
if TYPE_CHECKING:
1617
from textual.app import App
@@ -30,11 +31,11 @@ async def _scroll_to_bottom(self) -> None:
3031

3132
async def handle_agent_message(self, message: AgentMessage) -> None:
3233
match message.type:
33-
case MessageType.STREAM_EVENT:
34+
case AgentMessageType.STREAM_EVENT:
3435
await self._handle_stream_event(message)
35-
case MessageType.ASSISTANT:
36+
case AgentMessageType.ASSISTANT:
3637
await self._handle_assistant(message)
37-
case MessageType.RESULT:
38+
case AgentMessageType.RESULT:
3839
await self._handle_result()
3940

4041
async def _handle_stream_event(self, message: AgentMessage) -> None:

0 commit comments

Comments
 (0)