@@ -168,7 +168,7 @@ export class OpenAI {
168168 async createChatCompletion (
169169 options : ChatCompletionOptions ,
170170 ) : Promise < ChatCompletion > {
171- return await this . #request( `/chat/completions` , {
171+ const resp = await this . #request( `/chat/completions` , {
172172 model : options . model ,
173173 messages : options . messages ,
174174 temperature : options . temperature ,
@@ -180,7 +180,15 @@ export class OpenAI {
180180 frequency_penalty : options . frequencyPenalty ,
181181 logit_bias : options . logitBias ,
182182 user : options . user ,
183- } ) ;
183+ functions : options . functions ,
184+ function_call : options . function_call ,
185+ } ) as ChatCompletion ;
186+
187+ // null coalesce content to empty string as discussed in PR #17
188+ resp ?. choices ?. forEach (
189+ ( choice ) => ( choice . message . content = choice . message . content ?? "" )
190+ ) ;
191+ return resp ;
184192 }
185193
186194 /**
@@ -213,6 +221,8 @@ export class OpenAI {
213221 frequency_penalty : options . frequencyPenalty ,
214222 logit_bias : options . logitBias ,
215223 user : options . user ,
224+ functions : options . functions ,
225+ function_call : options . function_call
216226 } ) ,
217227 } ,
218228 ) ;
0 commit comments