Skip to content

Commit 4c7ae84

Browse files
fix(result_stream): stream reasoning before content in stream (#2398)
1 parent 246fbb6 commit 4c7ae84

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

crates/forge_domain/src/result_stream_ext.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,28 +77,28 @@ impl ResultStreamExt<anyhow::Error> for crate::BoxStream<ChatCompletionMessage,
7777

7878
// Stream content delta if sender is available
7979
if let Some(ref sender) = sender {
80-
if let Some(content_part) = message.content.as_ref() {
81-
let delta = content_part.as_str();
80+
if let Some(reasoning_part) = message.reasoning.as_ref() {
81+
let delta = reasoning_part.as_str();
8282
if !delta.is_empty() {
8383
// Ignore send errors - the receiver may have been dropped
8484
let _ = sender
85-
.send(Ok(ChatResponse::TaskMessage {
86-
content: ChatResponseContent::Markdown {
87-
text: delta.to_string(),
88-
partial: true,
89-
},
85+
.send(Ok(ChatResponse::TaskReasoning {
86+
content: delta.to_string(),
9087
}))
9188
.await;
9289
}
9390
}
9491

95-
if let Some(reasoning_part) = message.reasoning.as_ref() {
96-
let delta = reasoning_part.as_str();
92+
if let Some(content_part) = message.content.as_ref() {
93+
let delta = content_part.as_str();
9794
if !delta.is_empty() {
9895
// Ignore send errors - the receiver may have been dropped
9996
let _ = sender
100-
.send(Ok(ChatResponse::TaskReasoning {
101-
content: delta.to_string(),
97+
.send(Ok(ChatResponse::TaskMessage {
98+
content: ChatResponseContent::Markdown {
99+
text: delta.to_string(),
100+
partial: true,
101+
},
102102
}))
103103
.await;
104104
}

0 commit comments

Comments
 (0)