- Added _fetch_s3_text() helper that handles non-JSON content gracefully
(auto_sum_note may be HTML/plain text, not JSON — previous code errored)
- plaud_get_summary now tries auto_sum_note first, falls back to outline
- plaud_get_notes now routes auto_sum_note through _fetch_s3_text
- plaud_get_recording_detail now correctly flags has_summary=true when
auto_sum_note is present (previously only checked "outline")
- Response includes summary_type field: "auto_sum_note", "outline", or "none"