-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Add graceful fallback for missing response.id from NVIDIA NIM #6290
Copy link
Copy link
Closed
Description
Description
OpenCode crashes with AI_InvalidResponseDataError: Expected "id" to be a string when the NVIDIA NIM endpoint returns a tool‑call response without an id field.
Reproduction steps
- Obtain a valid
NVIDIA_NIM_KEY. - Run the curl command from the NVIDIA issue (see that issue for the exact command).
- The raw JSON response from NIM does not contain an
idproperty. - OpenCode validates the payload and throws the error.
Expected behaviour
If the id field is missing or not a string, the integration should automatically generate a temporary UUID (e.g., msg_<uuid>) and continue processing instead of aborting.
Suggested implementation
function normalizeMistralResponse(resp: any): any {
if (!resp.id || typeof resp.id !== "string") {
resp.id = `msg_${crypto.randomUUID()}`;
}
return resp;
}Add this guard before any SDK validation that expects id.
Impact
All users who call any NVIDIA NIM model from OpenCode will stop crashing.
Environment
- OpenCode version: 1.0.191
- NVIDIA NIM endpoint: https://integrate.api.nvidia.com/v1/chat/completions
- Model: Devstral-2-123B-Instruct-2512
- Date: 2025‑12‑28
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels