Breakingresponse.property.removed
Response field annotations removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
ChatCompletionMessageList.data[].annotations · reachable from 1 operation
// response.data[0].annotations is now undefined
const annotations = response.data[0].annotations;
Breakingresponse.property.removed
Response field audio removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
ChatCompletionMessageList.data[].audio · reachable from 1 operation
// response.data[0].audio is now undefined
const audio = response.data[0].audio;
Breakingresponse.property.removed
Response field function_call removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
ChatCompletionMessageList.data[].function_call · reachable from 1 operation
// response.data[0].function_call is now undefined
const function_call = response.data[0].function_call;
Breakingresponse.property.removed
Response field refusal removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
ChatCompletionMessageList.data[].refusal · reachable from 1 operation
// response.data[0].refusal is now undefined
const refusal = response.data[0].refusal;
Breakingdirection flipresponse.enum.value-added
role can now return "developer", "function", "system", "tool", "user"
Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums.
ChatCompletionMessageList.data[].role · reachable from 1 operation
switch (response.data[0].role) {
// existing branches …
// no branch for "developer"
// no branch for "function"
// no branch for "system"
// no branch for "tool"
// no branch for "user"
default:
throw new Error("unexpected role");
}Breakingresponse.property.removed
Response field tool_calls removed
Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.
ChatCompletionMessageList.data[].tool_calls · reachable from 1 operation
// response.data[0].tool_calls is now undefined
const tool_calls = response.data[0].tool_calls;
Breakingdirection flipresponse.property.became-optional
Response field first_id is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
ChatCompletionMessageList.first_id · reachable from 1 operation
// response.first_id may now be absent or null
const first_id = response.first_id ?? fallback;
Breakingdirection flipresponse.property.became-optional
Response field last_id is no longer guaranteed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
ChatCompletionMessageList.last_id · reachable from 1 operation
// response.last_id may now be absent or null
const last_id = response.last_id ?? fallback;