fix: improve Telegram status delivery and reliability (#304)

* fix: make Telegram status prompts reliable

Approval and auth prompts could be missed when polling or reply-context sends failed, leaving users stuck in waiting states. This adds explicit status mapping and retries, keeps typing active through intermediate work while suppressing noisy tool telemetry, and adds regression tests plus CI coverage for the Telegram channel crate.

* fix: normalize terminal status handling

Terminal status strings from the agent loop can vary in casing and formatting, which could leak internal status lines to Telegram. This normalizes Done/Interrupted mapping and filters terminal status text consistently to keep chat UX clean while preserving actionable prompts.

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
This commit is contained in:
firat.sertgoz
2026-02-22 18:07:57 +00:00
committed by GitHub
co-authored by Claude Opus 4.6
parent c68dc2ff2a
commit 4003300a8c
6 changed files with 1147 additions and 159 deletions
+12
View File
@@ -261,6 +261,18 @@ interface channel {
tool-started,
/// A tool execution completed.
tool-completed,
/// A tool execution produced a preview/result status.
tool-result,
/// A tool call is waiting for user approval.
approval-needed,
/// Generic status text that should be shown to the user.
status,
/// A background/sandbox job was started.
job-started,
/// An extension/tool requires user authentication.
auth-required,
/// Authentication flow completed.
auth-completed,
}
/// A status update from the agent.