async function runScenario({ scenario }) {
  const { projectDir } = await prepareScenarioOnDisk({
    scenario,
    policyName: 'node',
  })
  const args = convertOptsToArgs(scenario)
  const {
    output: { stdout, stderr },
  } = await runLavamoat({ args, cwd: projectDir })
  let result
  if (stderr) {
    throw new Error(`Unexpected output in standard err: \n${stderr}`)
  }
  try {
    result = JSON.parse(stdout)
  } catch (e) {
    throw new Error(`Unexpected output in standard out: \n${stdout}`)
  }
  return result
}
Run the given scenario.

The `scenario` itself should be passed thru `createScenarioFromScaffold` to normalize it.

@template [T=unknown]
@param {{scenario: import('lavamoat-core/test/scenarios/scenario').NormalizedScenario}} opts
@returns {Promise<T>}