From 0c686ba170d5a8bc3c3069e4a3166c36847c8cb0 Mon Sep 17 00:00:00 2001 From: Dave Date: Wed, 18 Mar 2026 10:18:45 +0000 Subject: [PATCH] story-kit: merge 266_story_matrix_bot_structured_conversation_history --- .gitignore | 1 + server/src/matrix/bot.rs | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/.gitignore b/.gitignore index 8d2d182..c050bce 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ frontend/node_modules frontend/dist frontend/dist-ssr frontend/test-results +frontend/serve frontend/*.local server/target diff --git a/server/src/matrix/bot.rs b/server/src/matrix/bot.rs index 36d9b6a..676edf2 100644 --- a/server/src/matrix/bot.rs +++ b/server/src/matrix/bot.rs @@ -818,6 +818,20 @@ async fn handle_message( .await { sent_ids.lock().await.insert(resp.event_id); + let result = provider + .chat_stream( + &prompt, + &ctx.project_root.to_string_lossy(), + resume_session_id.as_deref(), + &mut cancel_rx, + move |token| { + let mut buf = buffer_for_callback.lock().unwrap(); + buf.push_str(token); + // Flush complete paragraphs as they arrive. + let paragraphs = drain_complete_paragraphs(&mut buf); + for chunk in paragraphs { + sent_any_chunk_for_callback.store(true, Ordering::Relaxed); + let _ = msg_tx_for_callback.send(chunk); } // Store the MCP oneshot sender so the event handler can