mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-17 05:41:36 +00:00
* feat(channels): narrated progress drafts + activity receipt on the final answer Progress mode replaces raw tool lines with short utility-model narration of what the agent is doing (streaming.progress.narration, default on, requires an explicit utilityModel). On Discord the final answer now carries the -# activity receipt and the working draft is deleted once the answer lands, so busy channels keep no orphaned tool log above the reply. Formatting verified remotely via Testbox oxfmt --check (hook bypassed: no node_modules in this worktree). * fix(channels): keep narration toggle independent of channel-default stream mode Discord resolves its own progress default, so the resolver must not re-derive mode with the generic partial fallback (narration was off for unset config). * fix(auto-reply): honor status-only command text in narration model input streaming.progress.commandText: "status" hides raw exec/bash text from the channel draft; narration input now mirrors that policy so the utility model never receives more command detail than the draft shows (Codex review P2). Formatting verified remotely via Testbox oxfmt --check. * fix(auto-reply): share the draft's command-tool set for narration and regen channel metadata Reuse isCommandToolName (exec|shell|bash) so narration's commandText policy matches the draft formatter exactly, and regenerate bundled channel config metadata for the new streaming.progress.narration key (Codex review round 2). Gates verified on Testbox: config:channels:check, oxfmt --check, 4 test shards. * fix(channels): clear stale narration when the narrator stops mid-turn An empty narration update now falls the draft back to raw tool lines, and the narrator emits that clear when it disables after consecutive failures or the per-turn cap, so drafts never pin stale status text (Codex review round 3). Gates verified on Testbox: oxfmt --check + 4 test shards. * chore(config): regen bundled channel metadata after rebase onto main * chore: CI fixups — lint nits, test harness types, docs map, SDK surface budget Two deliberate public SDK additions (resolveChannelStreamingProgressNarration, isCommandToolName via the streaming wildcard re-export) bump the pinned public-surface budgets to current counts (exports 10488, callable 5235). Gates verified on Testbox: oxfmt, targeted oxlint, docs:map:check, config:channels:check, check:test-types, 5 test shards.