FR-2: Image Retrieval
- The relay must retrieve the actual image bytes from BlueBubbles
- BlueBubbles may expose attachments via:
- Download URLs (if served over HTTP)
- File paths on the Mac filesystem
- Base64-encoded data in the API response
- The relay must handle all three formats and normalize to raw bytes
before sending to the vision API
- The relay must validate that the retrieved data is a valid image
(check magic bytes: JPEG
FF D8, PNG 89 50,
etc.)
- If retrieval fails, return an error state to the client