When emails are forwarded to Slack channels, message content is stored in
files[] with filetype "email" rather than in text or blocks. This adds
FilesToText() to extract From, CC, and Subject metadata as a fallback
when msg.Text is empty, so these messages no longer appear as blank rows
in conversations_history output.
Closes#191
The test was added by #272 (d3f7ca3) when AttachmentToText still applied
`(` → `[` and `)` → `]` substitutions, which produced `[text][url]` output.
#281 (5c095ac) removed those substitutions, so AttachmentToText now emits
proper markdown `[text](url)`. The test wasn't updated in #281's merge.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Messages using Slack's Block Kit format (emails forwarded via Slack,
bot notifications from Grafana/Datadog, app messages) return empty
text when retrieved via conversations_history. This extracts text
from block structures so these messages are no longer empty.
Closes#186