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

Merge request reports

Loading