In the case where the completion returns an empty string, no completion tokens are used.
This results in a decoding error from the missing key for completion_tokens:
keyNotFound(CodingKeys(stringValue: "completion_tokens", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "usage", intValue: nil)], debugDescription: "No value associated with key CodingKeys(stringValue: \"completion_tokens\", intValue: nil) (\"completion_tokens\").", underlyingError: nil))
In the case where the completion returns an empty string, no completion tokens are used.
This results in a decoding error from the missing key for completion_tokens: keyNotFound(CodingKeys(stringValue: "completion_tokens", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "usage", intValue: nil)], debugDescription: "No value associated with key CodingKeys(stringValue: \"completion_tokens\", intValue: nil) (\"completion_tokens\").", underlyingError: nil))