openclaw/extensions
Tyler Yust 9ef24fd400
fix: flush block streaming on paragraph boundaries for chunkMode=newline (#7014)
* feat: Implement paragraph boundary flushing in block streaming

- Added `flushOnParagraph` option to `BlockReplyChunking` for immediate flushing on paragraph breaks.
- Updated `EmbeddedBlockChunker` to handle paragraph boundaries during chunking.
- Enhanced `createBlockReplyCoalescer` to support flushing on enqueue.
- Added tests to verify behavior of flushing with and without `flushOnEnqueue` set.
- Updated relevant types and interfaces to include `flushOnParagraph` and `flushOnEnqueue` options.

* fix: Improve streaming behavior and enhance block chunking logic

- Resolved issue with stuck typing indicator after streamed BlueBubbles replies.
- Refactored `EmbeddedBlockChunker` to streamline fence-split handling and ensure maxChars fallback for newline chunking.
- Added tests to validate new chunking behavior, including handling of paragraph breaks and fence scenarios.
- Updated changelog to reflect these changes.

* test: Add test for clamping long paragraphs in EmbeddedBlockChunker

- Introduced a new test case to verify that long paragraphs are correctly clamped to maxChars when flushOnParagraph is enabled.
- Updated logic in EmbeddedBlockChunker to handle cases where the next paragraph break exceeds maxChars, ensuring proper chunking behavior.

* refactor: streamline logging and improve error handling in message processing

- Removed verbose logging statements from the `processMessage` function to reduce clutter.
- Enhanced error handling by using `runtime.error` for typing restart failures.
- Updated the `applySystemPromptOverrideToSession` function to accept a string directly instead of a function, simplifying the prompt application process.
- Adjusted the `runEmbeddedAttempt` function to directly use the system prompt override without invoking it as a function.
2026-02-02 01:22:41 -08:00
..
bluebubbles fix: flush block streaming on paragraph boundaries for chunkMode=newline (#7014) 2026-02-02 01:22:41 -08:00
copilot-proxy chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
diagnostics-otel chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
discord chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
google-antigravity-auth chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
google-gemini-cli-auth chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
googlechat chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
imessage chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
line chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
llm-task chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
lobster chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
matrix chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
mattermost chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
memory-core chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
memory-lancedb chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
minimax-portal-auth chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
msteams chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
nextcloud-talk chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
nostr chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
open-prose chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
qwen-portal-auth chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts. 2026-02-01 10:03:47 +09:00
signal chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
slack chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
telegram chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
tlon chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
twitch chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
voice-call chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
whatsapp chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
zalo chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00
zalouser chore: bump to 2026.2.1 2026-02-02 08:51:54 +00:00