fix(whatsapp): deliver scheduled job attachments to groups

Scheduled outbound only sent text via pollOutboundQueue; collect deliverable attachments from the turn, encode them in source JSON, and send via sendReplyWithAttachments.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-07-21 14:29:55 +08:00
parent 40eed39110
commit f5cb64a3a4
7 changed files with 248 additions and 16 deletions

View file

@ -39,6 +39,16 @@ def test_start_all_gracefully_skips_missing_channel_sidecars() -> None:
assert 'Warn "whatsapp sidecar skipped:' in text
def test_whatsapp_runner_outbound_poll_uses_reply_attachments() -> None:
text = _read("runtime/operations/whatsapp_bridge/baileys_runner.ts")
assert "sendReplyWithAttachments" in text
assert "hasMedia" in text
assert "pollOutboundQueue" in text
poll_start = text.index("async function pollOutboundQueue")
poll_chunk = text[poll_start : poll_start + 2500]
assert "sendReplyWithAttachments" in poll_chunk
def test_whatsapp_runner_supports_reply_attachments_base64() -> None:
text = _read("runtime/operations/whatsapp_bridge/baileys_runner.ts")
assert "sendReplyWithAttachments" in text