DefenderRelaySigner with multiple RPC endpoints

I am trying to use an infura RPC URL to send a public transaction with a relayer that has private transaction setting enabled.

:computer: Environment

Actions, Relayer

With node dependencies as below:

"devDependencies": {
    "@nomicfoundation/ethereumjs-evm": "^2.0.4",
    "@nomicfoundation/hardhat-chai-matchers": "^1.0.6",
    "@nomicfoundation/hardhat-network-helpers": "^1.0.10",
    "@nomicfoundation/hardhat-toolbox": "^2.0.2",
    "@nomiclabs/hardhat-ethers": "^2.2.3",
    "@openzeppelin/defender-as-code": "2.6.0",
    "@openzeppelin/defender-autotask-utils": "1.52.0",
    "@openzeppelin/defender-sdk": "1.5.0",
    "@openzeppelin/defender-sdk-relay-signer-client": "1.5.0",
    "@typechain/ethers-v5": "^10.2.1",
    "@types/node": "^20.11.26",
    "@types/webpack-node-externals": "^3.0.4",
    "@typescript-eslint/eslint-plugin": "^7.2.0",
    "@typescript-eslint/parser": "^7.2.0",
    "dotenv": "^16.4.5",
    "eslint": "^8.57.0",
    "ethers": "5.6.8",
    "glob": "^10.3.10",
    "hardhat": "2.20.1",
    "hardhat-tracer": "2.8.1",
    "serverless": "^3.38.0",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "typechain": "^8.3.2",
    "typescript": "^5.4.2",
    "webpack": "^5.90.3",
    "webpack-cli": "^5.1.4",
    "webpack-node-externals": "^3.0.0"
  }

:memo:Details

Is it possible to send a public transaction with a Relayer account that has the private transaction setting enabled?

I've tried passing in a JSON RPC provider object with infura RPC API URL when instantiating the DefenderRelaySigner. This seems to be successful in creation of the obj but when sending the transactions, it is still sent to the defender api endpoint and becomes a private transaction.

Alternatively I've tried to use DefenderRelaySigner's signTransaction then send the transaction via the provider but this seems to be unsupported right now.

:1234: Code to reproduce

export function getEthersProviderAndSigner(
  event: AutotaskEvent,
  url: string = ""
) {
  // Ensure the autotask has been properly configured
  if (!event.credentials || typeof event.credentials !== "string") {
    console.log("Invalid credentials", event.credentials);
    console.log("Type of credentials: ", typeof event.credentials);
    throw new Error("Invalid credentials");
  }

  const relayerParams: ActionRelayerParams = {
    credentials: event.credentials,
    relayerARN: event.relayerARN as string,
  };
  const provider = url
    ? new ethers.providers.JsonRpcProvider(url)
    : new DefenderRelayProvider(relayerParams);
  const signer = new DefenderRelaySigner(relayerParams, provider, {
    maxFeePerGas: parseUnits("20.0", "gwei"), // Pay up to 20 gwei for base gas fee
    maxPriorityFeePerGas: parseUnits("0.01", "gwei"), // Over pay 0.01 gwei for priority
    // validForSeconds: 28800 // By default, the transaction is valid for 8 hours
    // https://github.com/OpenZeppelin/defender-docs/blob/5cb1f1e67ba5a556c39b9892946d057bd98f2a36/docs/modules/ROOT/pages/manage/relayers.adoc#fixed-gas-pricing
  });
  return { provider, signer };
}