chenpitang f422d3363d
feat: notify user when context compaction starts and completes
During auto-compaction the agent goes silent for several seconds while
the context is summarised.  Users on every channel (Discord, Feishu,
Telegram, webchat …) had no indication that something was happening —
leading to confusion and duplicate messages.

Changes:
- agent-runner-execution.ts: listen for compaction phase='start' event
  and immediately deliver a "🧹 Compacting context..." notice via the
  existing onBlockReply callback.  This fires for every channel because
  onBlockReply is the universal in-run delivery path.
- agent-runner.ts: make the completion notice unconditional (was
  previously guarded behind verboseEnabled).  Non-verbose users now see
  " Context compacted (count N)."; verbose users continue to see the
  legacy "🧹 Auto-compaction complete (count N)." wording.

Why onBlockReply for start?
onBlockReply is already wired to every channel adapter and fires during
the live run, so the notice arrives in-band with zero new plumbing.
Using verboseNotices (appended after the run) would be too late and
would miss the start signal entirely.

Fixes: users seeing silent pauses of 5-15 s with no feedback during
compaction on any channel.
2026-03-20 19:52:26 -07:00
..
2026-03-17 07:06:25 +00:00
2026-03-17 07:06:25 +00:00