openclaw/src/auto-reply
Glucksberg 651bad3b47 fix(tts): generate audio when block streaming drops final reply
When block streaming succeeds, final replies are dropped but TTS was only
applied to final replies. Fix by accumulating block text during streaming
and generating TTS-only audio after streaming completes.

Also:
- Change truncate vs skip behavior when summary OFF (now truncates)
- Align TTS limits with Telegram max (4096 chars)
- Improve /tts command help messages with examples
- Add newline separator between accumulated blocks
2026-01-30 14:48:23 +00:00
..
reply fix(tts): generate audio when block streaming drops final reply 2026-01-30 14:48:23 +00:00
chunk.test.ts fix: paragraph-aware newline chunking (#1726) 2026-01-25 13:24:19 +00:00
chunk.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
command-auth.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
command-control.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
command-detection.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
commands-args.ts fix: lint errors 2026-01-15 17:08:31 +00:00
commands-registry.data.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
commands-registry.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
commands-registry.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
commands-registry.types.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
dispatch.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
envelope.test.ts fix: default envelope timestamps to local 2026-01-22 04:10:06 +00:00
envelope.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
group-activation.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
heartbeat.test.ts feat(heartbeat): skip API calls when HEARTBEAT.md is effectively empty (#1535) 2026-01-24 04:19:01 +00:00
heartbeat.ts feat: audit fixes and documentation improvements (#1762) 2026-01-25 12:54:48 +00:00
inbound-debounce.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
inbound.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
media-note.test.ts refactor: tighten media diagnostics 2026-01-17 07:27:38 +00:00
media-note.ts refactor: tighten media diagnostics 2026-01-17 07:27:38 +00:00
model.test.ts Fix models command (#1753) 2026-01-25 10:02:12 +00:00
model.ts Fix models command (#1753) 2026-01-25 10:02:12 +00:00
reply.block-streaming.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.accepts-thinking-xhigh-codex-models.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.applies-inline-reasoning-mixed-messages-acks-immediately.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.defaults-think-low-reasoning-capable-models-no.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.ignores-inline-model-uses-default-model.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.lists-allowlisted-models-model-list.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.prefers-alias-matches-fuzzy-selection-is-ambiguous.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.requires-per-agent-allowlist-addition-global.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.returns-status-alongside-directive-only-acks.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.shows-current-elevated-level-as-off-after.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.shows-current-verbose-level-verbose-has-no.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.supports-fuzzy-model-matches-model-directive.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.directive-behavior.updates-tool-verbose-during-flight-run-toggle.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.directive.parse.test.ts feat: add elevated ask/full modes 2026-01-22 05:41:11 +00:00
reply.heartbeat-typing.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.media-note.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.queue.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.raw-body.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.group-intro-prompts.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.allows-activation-from-allowfrom-groups.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.allows-approved-sender-toggle-elevated-mode.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.allows-elevated-off-groups-without-mention.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.filters-usage-summary-current-model-provider.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.ignores-inline-elevated-directive-unapproved-sender.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.includes-error-cause-embedded-agent-throws.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.keeps-inline-status-unauthorized-senders.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.reports-active-auth-profile-key-snippet-status.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.runs-compact-as-gated-command.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.runs-greeting-prompt-bare-reset.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.shows-endpoint-default-model-status-not-configured.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.shows-quick-model-picker-grouped-by-model.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.stages-inbound-media-into-sandbox-workspace.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
reply.ts feat: add /exec session overrides 2026-01-18 06:12:54 +00:00
send-policy.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
skill-commands.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
skill-commands.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
status.test.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
status.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
templating.ts refactor: rename to openclaw 2026-01-30 03:16:21 +01:00
thinking.test.ts fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
thinking.ts fix(telegram): honor linkPreview on fallback (#1730) 2026-01-25 07:55:39 +00:00
tokens.ts feat: add provider-specific tool policies 2026-01-15 03:55:20 +00:00
tool-meta.test.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
tool-meta.ts fix: format exec elevated flag first in tool summaries 2026-01-17 21:54:24 +00:00
types.ts feat: Add Line plugin (#1630) 2026-01-25 12:22:36 +00:00