openclaw/src/auto-reply/reply
Tyler Yust 2ee71e4154 fix: send text between tool calls to channel immediately
Previously, when block streaming was disabled (the default), text generated
between tool calls would only appear after all tools completed. This was
because onBlockReply wasn't passed to the subscription when block streaming
was off, so flushBlockReplyBuffer() before tool execution did nothing.

Now onBlockReply is always passed, and when block streaming is disabled,
block replies are sent directly during tool flush. Directly sent payloads
are tracked to avoid duplicates in final payloads.

Also fixes a race condition where tool summaries could be emitted before
the typing indicator started by awaiting onAgentEvent in tool handlers.
2026-01-15 20:55:52 -08:00
..
queue feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
abort.test.ts fix: unblock control commands during active runs 2026-01-15 07:08:48 +00:00
abort.ts refactor: harden session store updates 2026-01-15 23:41:34 +00:00
agent-runner-execution.ts fix: send text between tool calls to channel immediately 2026-01-15 20:55:52 -08:00
agent-runner-helpers.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner-memory.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner-payloads.ts fix: send text between tool calls to channel immediately 2026-01-15 20:55:52 -08:00
agent-runner-utils.test.ts fix: imessage dm replies and error details (#935) 2026-01-15 08:05:10 +00:00
agent-runner-utils.ts feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
agent-runner.block-streaming.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.claude-cli.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.resets-corrupted-gemini-sessions-deletes-transcripts.test.ts fix: sanitize user-facing errors and strip final tags 2026-01-16 03:01:23 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.retries-after-compaction-failure-by-resetting-session.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-block-replies.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.signals-typing-normal-runs.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.heartbeat-typing.runreplyagent-typing-heartbeat.still-replies-even-if-session-reset-fails.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.memory-flush.runreplyagent-memory-flush.increments-compaction-count-flush-compaction-completes.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.memory-flush.runreplyagent-memory-flush.runs-memory-flush-turn-updates-session-metadata.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-cli-providers.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.memory-flush.runreplyagent-memory-flush.skips-memory-flush-sandbox-workspace-is-read.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.memory-flush.runreplyagent-memory-flush.uses-configured-prompts-memory-flush-runs.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.messaging-tools.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.reasoning-tags.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-runner.ts fix: send text between tool calls to channel immediately 2026-01-15 20:55:52 -08:00
audio-tags.test.ts refactor: consolidate reply/media helpers 2026-01-10 02:41:16 +01:00
audio-tags.ts refactor: consolidate reply/media helpers 2026-01-10 02:41:16 +01:00
bash-command.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
block-reply-coalescer.test.ts fix(auto-reply): coalesce block replies and document streaming toggles (#536) (thanks @mcinteerj) 2026-01-09 18:19:55 +00:00
block-reply-coalescer.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
block-reply-pipeline.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
block-streaming.ts feat: load channel plugins 2026-01-15 02:42:44 +00:00
body.ts refactor: harden session store updates 2026-01-15 23:41:34 +00:00
commands-bash.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
commands-compact.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
commands-config-writes.test.ts style: apply oxfmt fixes 2026-01-15 01:53:14 +00:00
commands-config.ts feat(config): gate channel config writes 2026-01-15 01:41:15 +00:00
commands-context-report.ts feat: mac node exec policy + remote skills hot reload 2026-01-16 03:45:06 +00:00
commands-context.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
commands-core.ts feat: add /context prompt breakdown 2026-01-15 01:06:35 +00:00
commands-info.ts feat: add /context prompt breakdown 2026-01-15 01:06:35 +00:00
commands-session.ts refactor: harden session store updates 2026-01-15 23:41:34 +00:00
commands-status.ts chore: format and sync protocol outputs 2026-01-16 03:30:56 +00:00
commands-types.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
commands.test.ts feat: add /context prompt breakdown 2026-01-15 01:06:35 +00:00
commands.ts refactor(auto-reply): split reply pipeline 2026-01-14 09:11:16 +00:00
config-commands.test.ts style: fix biome formatting 2026-01-10 02:11:43 +00:00
config-commands.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
config-value.ts style: fix biome formatting 2026-01-10 02:11:43 +00:00
debug-commands.test.ts feat: add /debug runtime overrides 2026-01-09 16:55:16 +01:00
debug-commands.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.auth.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.fast-lane.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.impl.ts feat: sticky auth profile rotation + usage headers 2026-01-16 00:25:49 +00:00
directive-handling.model-picker.ts fix(model-picker): list each provider/model combo separately (#970) 2026-01-15 22:20:11 +00:00
directive-handling.model.ts fix(model-picker): list each provider/model combo separately (#970) 2026-01-15 22:20:11 +00:00
directive-handling.parse.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.persist.ts feat: sticky auth profile rotation + usage headers 2026-01-16 00:25:49 +00:00
directive-handling.queue-validation.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.shared.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directive-handling.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
directives.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
dispatch-from-config.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
dispatch-from-config.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
followup-runner.compaction.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
followup-runner.messaging-tools.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
followup-runner.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
get-reply-directives-apply.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
get-reply-directives-utils.ts refactor(auto-reply): split reply pipeline 2026-01-14 09:11:16 +00:00
get-reply-directives.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
get-reply-inline-actions.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
get-reply-run.ts fix: align config types after upstream changes 2026-01-16 01:49:07 +00:00
get-reply.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
groups.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
groups.ts feat: load channel plugins 2026-01-15 02:42:44 +00:00
history.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
history.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
inbound-dedupe.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
inbound-dedupe.ts feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
memory-flush.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
memory-flush.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
mentions.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
mentions.ts feat: load channel plugins 2026-01-15 02:42:44 +00:00
model-selection.ts feat: sticky auth profile rotation + usage headers 2026-01-16 00:25:49 +00:00
normalize-reply.ts fix: sanitize user-facing errors and strip final tags 2026-01-16 03:01:23 +00:00
provider-dispatcher.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
queue.collect-routing.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
queue.ts refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
reply-directives.ts refactor: unify inline directives and media fetch 2026-01-10 03:01:04 +01:00
reply-dispatcher.test.ts feat: add provider-specific tool policies 2026-01-15 03:55:20 +00:00
reply-dispatcher.ts chore: format reply dispatcher 2026-01-15 05:31:03 +00:00
reply-elevated.ts feat: load channel plugins 2026-01-15 02:42:44 +00:00
reply-inline.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
reply-payloads.ts chore: format and sync protocol outputs 2026-01-16 03:30:56 +00:00
reply-reference.test.ts fix: align reply threading refs 2026-01-12 23:41:40 +00:00
reply-reference.ts fix: align reply threading refs 2026-01-12 23:41:40 +00:00
reply-tags.ts refactor: unify inline directives and media fetch 2026-01-10 03:01:04 +01:00
reply-threading.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
reply-threading.ts feat: load channel plugins 2026-01-15 02:42:44 +00:00
response-prefix-template.test.ts feat: add dynamic template variables to messages.responsePrefix (#923) 2026-01-14 23:05:08 -05:00
response-prefix-template.ts feat: add dynamic template variables to messages.responsePrefix (#923) 2026-01-14 23:05:08 -05:00
route-reply.test.ts feat!: move msteams to plugin 2026-01-16 02:59:43 +00:00
route-reply.ts feat: add matrix channel plugin 2026-01-15 08:40:37 +00:00
session-reset-group.test.ts fix: harden whatsapp command auth 2026-01-15 07:54:39 +00:00
session-updates.test.ts feat(date-time): standardize time context and tool timestamps 2026-01-15 22:27:06 +00:00
session-updates.ts fix: repair CI formatting + launchd test 2026-01-16 03:52:47 +00:00
session.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
session.ts refactor: harden session store updates 2026-01-15 23:41:34 +00:00
stage-sandbox-media.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
test-helpers.ts fix(typing): keep tool-start ttl mode-safe (#452, thanks @thesash) 2026-01-08 06:18:35 +00:00
typing-mode.test.ts fix: start typing on message start 2026-01-13 04:33:24 +00:00
typing-mode.ts fix: start typing on message start 2026-01-13 04:33:24 +00:00
typing.test.ts feat: add typing mode controls 2026-01-07 21:58:54 +00:00
typing.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00