* feat(slack): enable DM support with per-thread IDs and implicit mentions
DMs now use per-message threadTs (same as channels) instead of collapsing
all DM messages into one thread. Each top-level DM starts a new conversation;
thread replies continue the same conversation.
DM messages automatically set isMention=true so bots process them without
requiring @mention — natural for 1:1 conversations.
* fix: use empty threadTs for top-level DMs, thread_ts for replies
Top-level DM messages use empty threadTs to match openDM() subscriptions.
DM thread replies use thread_ts for per-conversation isolation.
Fixes integration test replay-dm.test.ts.
* style: fix biome formatting
* test: add e2e replay tests for direct DM implicit mention
* style: fix extra blank line lint error
* test: use real recorded DM fixtures for e2e tests