File tree Expand file tree Collapse file tree 4 files changed +9
-2
lines changed Expand file tree Collapse file tree 4 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ async def consume_all(self) -> AsyncGenerator[Event]:
102
102
103
103
is_final_event = (
104
104
(isinstance (event , TaskStatusUpdateEvent ) and event .final )
105
- or isinstance (event , Message )
105
+ or isinstance (event , Message ) and not event . isDelta
106
106
or (
107
107
isinstance (event , Task )
108
108
and event .status .state
Original file line number Diff line number Diff line change @@ -134,8 +134,10 @@ async def save_task_event(
134
134
if task .status .message :
135
135
if not task .history :
136
136
task .history = [task .status .message ]
137
- else :
137
+ elif task . history [ - 1 ]. messageId != task . status . message . messageId :
138
138
task .history .append (task .status .message )
139
+ elif task .status .message .isDelta :
140
+ task .history [- 1 ].parts .extend (task .status .message .parts )
139
141
if event .metadata :
140
142
if not task .metadata :
141
143
task .metadata = {}
Original file line number Diff line number Diff line change @@ -182,4 +182,5 @@ def new_agent_message(
182
182
messageId = str (uuid .uuid4 ()),
183
183
metadata = metadata ,
184
184
parts = parts ,
185
+ isDelta = False
185
186
)
Original file line number Diff line number Diff line change @@ -1336,6 +1336,10 @@ class Message(BaseModel):
1336
1336
"""
1337
1337
Identifier of task the message is related to
1338
1338
"""
1339
+ isDelta : bool | None = None
1340
+ """
1341
+ Indicates if this is a delta message
1342
+ """
1339
1343
1340
1344
1341
1345
class MessageSendParams (BaseModel ):
You can’t perform that action at this time.
0 commit comments