修改摘要

Agent: programmer (programmer)
Confidence: 51%
Cost: $1.0570
Duration: 3m 25s
Task ID: dc91c9b5-945d-4072-9ff9-fca4ed3a36be


All done. Here’s a summary of changes:

修改摘要

檔案src/telegram/approval-bridge.ts — 1 file, +24 / -9 lines

SPEC-46: Callback Query Stale Message Fallback

  • 4 個 catch block 全部加了 answerCallbackQuery toast fallback:
    • Tool allow (line 203-206)
    • Tool deny (line 217-220)
    • Plan confirm/auto_allow/cancel (line 259-262)
    • Question answered (line 295-298)
  • 每個 fallback 都有外層 try-catch 防止 double-fault
  • 不重複呼叫 answerCallbackQuery(已確認 success path 無先前呼叫)

SPEC-40: Approval Timeout Countdown Display

  • 在函數頂部計算 timeoutSec = Math.round(config.APPROVAL_TIMEOUT / 1000)
  • 3 處審批訊息加上 ⏰ 請在 N 秒內回應:Tool (line 70)、Plan (line 102)、Question (line 143)
  • 5 處過期 callback 改為 此審批已過期(超過 N 秒)。如需重試,請重新發送訊息。

驗收對照

  • editMessageText 失敗 → toast fallback(四種操作)
  • 不重複呼叫 answerCallbackQuery
  • 審批訊息包含 timeout 秒數
  • 過期 callback 包含超時秒數
  • Tool、Plan、Question 三種 approval 都有 timeout
  • tsgo --noEmit 通過

—HANDOFF—
TO: reviewer
INTENT: handoff
ARTIFACT_TYPE: code-change
SUMMARY: SPEC-46 stale message fallback + SPEC-40 timeout countdown display in approval-bridge.ts