updates AiAllInOne to work with non-bedrock providers
Closes #3591016
Changes
- Only attach ToolsInput/FormatPagesTool when the active provider is bedrock.
- In extractAndDecodeJson: strip markdown code fences; replace Gemini's " double-encoding with the valid JSON escape "; on JSON_ERROR_SYNTAX, run a repair pass that escapes unescaped double quotes inside JSON string values using a character-by-character state machine.
- After json_decode, normalise double-double-quoted img src attributes (""uuid.png"" → "uuid.png") so the Save plugin can match images by filename.
- Broaden the catch block to include AiResponseErrorException so cURL/network errors from Gemini are wrapped as RetryableTransformFailure and benefit from the existing retry logic.
Edited by Mark Conroy