@@ -17,10 +17,15 @@ class EventType(str, Enum):
17
17
TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT"
18
18
TEXT_MESSAGE_END = "TEXT_MESSAGE_END"
19
19
TEXT_MESSAGE_CHUNK = "TEXT_MESSAGE_CHUNK"
20
+ THINKING_TEXT_MESSAGE_START = "THINKING_TEXT_MESSAGE_START" ,
21
+ THINKING_TEXT_MESSAGE_CONTENT = "THINKING_TEXT_MESSAGE_CONTENT" ,
22
+ THINKING_TEXT_MESSAGE_END = "THINKING_TEXT_MESSAGE_END" ,
20
23
TOOL_CALL_START = "TOOL_CALL_START"
21
24
TOOL_CALL_ARGS = "TOOL_CALL_ARGS"
22
25
TOOL_CALL_END = "TOOL_CALL_END"
23
26
TOOL_CALL_CHUNK = "TOOL_CALL_CHUNK"
27
+ THINKING_START = "THINKING_START" ,
28
+ THINKING_END = "THINKING_END" ,
24
29
STATE_SNAPSHOT = "STATE_SNAPSHOT"
25
30
STATE_DELTA = "STATE_DELTA"
26
31
MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT"
@@ -80,6 +85,29 @@ class TextMessageChunkEvent(BaseEvent):
80
85
role : Optional [Literal ["assistant" ]] = None
81
86
delta : Optional [str ] = None
82
87
88
+ class ThinkingTextMessageStartEvent (BaseEvent ):
89
+ """
90
+ Event indicating the start of a thinking text message.
91
+ """
92
+ type : Literal [EventType .THINKING_TEXT_MESSAGE_START ]
93
+
94
+ class ThinkingTextMessageContentEvent (BaseEvent ):
95
+ """
96
+ Event indicating a piece of a thinking text message.
97
+ """
98
+ type : Literal [EventType .THINKING_TEXT_MESSAGE_CONTENT ]
99
+ delta : str # This should not be an empty string
100
+
101
+ def model_post_init (self , __context ):
102
+ if len (self .delta ) == 0 :
103
+ raise ValueError ("Delta must not be an empty string" )
104
+
105
+ class ThinkingTextMessageEndEvent (BaseEvent ):
106
+ """
107
+ Event indicating the end of a thinking text message.
108
+ """
109
+ type : Literal [EventType .THINKING_TEXT_MESSAGE_END ]
110
+
83
111
class ToolCallStartEvent (BaseEvent ):
84
112
"""
85
113
Event indicating the start of a tool call.
@@ -116,6 +144,18 @@ class ToolCallChunkEvent(BaseEvent):
116
144
parent_message_id : Optional [str ] = None
117
145
delta : Optional [str ] = None
118
146
147
+ class ThinkingStartEvent (BaseEvent ):
148
+ """
149
+ Event indicating the start of a thinking step event.
150
+ """
151
+ type : Literal [EventType .THINKING_START ]
152
+
153
+ class ThinkingEndEvent (BaseEvent ):
154
+ """
155
+ Event indicating the end of a thinking step event.
156
+ """
157
+ type : Literal [EventType .THINKING_END ]
158
+
119
159
class StateSnapshotEvent (BaseEvent ):
120
160
"""
121
161
Event containing a snapshot of the state.
0 commit comments