@@ -217,6 +217,7 @@ async def solve(state: TaskState, generate: Generate) -> TaskState:
217217 state .messages .append (
218218 ChatMessageUser (content = response_message )
219219 )
220+ state .dump_messages_to_stream ()
220221
221222 # main loop (state.completed checks message_limit and token_limit)
222223 while not state .completed :
@@ -225,6 +226,7 @@ async def solve(state: TaskState, generate: Generate) -> TaskState:
225226 input = state .messages , tools = state .tools , cache = cache
226227 )
227228 state .messages .append (state .output .message )
229+ state .dump_messages_to_stream ()
228230
229231 # check for context window overflow
230232 if state .output .stop_reason == "model_length" :
@@ -244,6 +246,7 @@ async def solve(state: TaskState, generate: Generate) -> TaskState:
244246 max_output = max_tool_output ,
245247 )
246248 state .messages .extend (tool_results )
249+ state .dump_messages_to_stream ()
247250
248251 # was an answer submitted?
249252 answer = submission (tool_results )
@@ -277,10 +280,12 @@ async def solve(state: TaskState, generate: Generate) -> TaskState:
277280 state .messages .append (
278281 ChatMessageUser (content = response_message )
279282 )
283+ state .dump_messages_to_stream ()
280284
281285 # no tool calls, urge the model to continue
282286 else :
283287 state .messages .append (ChatMessageUser (content = continue_message ))
288+ state .dump_messages_to_stream ()
284289
285290 # propagate current state along with sample limit exceeded
286291 except SampleLimitExceededError as ex :
0 commit comments