#31121 [Bug]: Non-streaming /v1/messages (anthropic_messages) emits duplicate litellm_request OTEL spans + double success/cost callbacks
### What happened?
A single **non-streaming** `POST /v1/messages` (the dedicated Anthropic Messages endpoint) emits **two** OpenTelemetry spans named `litellm_request` for the one request. Both spans carry identical input/output/token-usage and identical duration, but **different** (regenerated) response ids (`chatcmpl-...`). The success path runs twice as well, so the cost/spend logging and any registered success callback fire twice per request.
A plain `POST /chat/completions` against the same proxy/config does **not** double — the issue is specific to the `/v1/messages` (`anthropic_messages`) path.
This is the **non-streaming** counterpart of the streaming pass-through duplication fixed in #29550 / #29598. That fix is guarded by `logging_obj.stream is True`, so it does not cover this non-streaming case.
### Version
`v1.82.3` (also present on `main` at time of filing).
### Minimal reproduction
`config.yaml`:
```yaml model_list: - model_name: claude litellm_params: model: anthropic/claude-3-5-sonnet-latest api_key: os.environ/ANTHROPIC_API_KEY
litellm_settings: success_callback: ["otel"] ```
Env: `OTEL_EXPORTER_OTLP_ENDPOINT=...` (any OTLP backend; a …