Preserve upstream provider detail in OpenRouter errors

OpenRouter wraps the real upstream failure under `error.metadata`
(`provider_name`, `raw`). The previous `extractErrorMessage` only
took `error.message`, leaving users with the generic
`Provider returned error` whenever the upstream model returned a
non-2xx (rate limits, quota exhaustion, model-side failures).

Append the metadata when present so the surfaced message looks
like:

  Provider returned error: provider=Venice, qwen/qwen3-coder:free
  is temporarily rate-limited upstream. Please retry shortly, ...

Drop the `[${code}]` prefix from the formatted message: the HTTP
status is already logged by `AiHttpClientImpl` and exposed
separately on `AiCodeReviewOutput.error.status_code`.

Change-Id: I7e4075a209d1062bc2149b96f8c2c67e3c820738
1 file changed
tree: d764762ddbbf381c321095a9a7f23eec9fbed13f
  1. admin/
  2. ai/
  3. multi-primary/
  4. replication/
  5. .gitignore
  6. README.md
README.md

Gerrit scripting plugins collection

Overview

This repository contains a collection of Gerrit scripting plugins that are intended to provide simple and useful extensions.

How to run the scripting plugins

Gerrit needs to be able to recognise the scripts syntax and being able to load them as plugins.

In order to be able to run Groovy scripts, you need to install first the Groovy scripting provider and then copy the Groovy scripts under your Gerrit /plugins directory.

Similarly for Scala scripts, you need to install the Scala scripting provider and then copy the Scala scripts under your Gerrit /plugins directory.

Administration Scripts

Gerrit multi-primary Scripts