There's a bug in this logic in workflows.php:
$out = file_get_contents( $a );
if ( !is_null( json_decode( $out ) ) && !$array ):
$out = json_decode( $out );
elseif ( !is_null( json_decode( $out ) ) && !$array ):
$out = json_decode( $out, true );
endif;
The if and elseif are checking the exact same condition, verbatim. I believe the fix would be removing the bang (!) that's in front of $array in the elseif condition.