Run the three IMF connectivity probes. Each probe is best-effort and its own failure (network error, hard timeout, or empty/malformed response) is captured into the returned array โ callers decide whether "any failure" or "all failed" is the trigger.
Each probe is wrapped in withTimeout with PROBE_TIMEOUT_MS so a single hung IMF endpoint cannot starve the composite action's 60-second envelope. Tests inject a stub ImfClient so we never hit the real API.
Run the three IMF connectivity probes. Each probe is best-effort and its own failure (network error, hard timeout, or empty/malformed response) is captured into the returned array โ callers decide whether "any failure" or "all failed" is the trigger.
Each probe is wrapped in withTimeout with
PROBE_TIMEOUT_MSso a single hung IMF endpoint cannot starve the composite action's 60-second envelope. Tests inject a stubImfClientso we never hit the real API.