d0c6353999
Trimmed cherry-pick of PR #40592 (duration + dedup hunks only; the voice-classification hunk duplicates #29235 and the send_voice Opus rewrite is out of scope for this inbound-focused PR): - adapter.py: ffprobe duration (off-loop) attached to Feishu voice uploads via _build_file_upload_body(duration=...) and the audio message payload (#16524, #8300) - gateway/run.py: TTS dedup narrowed to the current turn; _enrich_message_with_transcription dedups repeated audio paths Refs #40592 #16524 #8300