When the Codex backend returned the literal "(see attached image)" as the answer for a text query and streamedAnswer was empty, the wrapper accepted the placeholder as the response and the chain never advanced. Throw SearchProviderError so the next provider is tried.