@@ -374,6 +374,10 @@ private async Task SendToTwilioAsync(WebSocket twilioWebSocket, WebSocket openAi
374
374
case OpenAiToolConstants . ConfirmCustomerInformation :
375
375
await ProcessRecordCustomerInformationAsync ( openAiWebSocket , context , outputElement , cancellationToken ) . ConfigureAwait ( false ) ;
376
376
break ;
377
+
378
+ case OpenAiToolConstants . ConfirmPickupTime :
379
+ await ProcessRecordOrderPickupTimeAsync ( openAiWebSocket , context , outputElement , cancellationToken ) . ConfigureAwait ( false ) ;
380
+ break ;
377
381
378
382
case OpenAiToolConstants . Hangup :
379
383
await ProcessHangupAsync ( openAiWebSocket , context , outputElement , cancellationToken ) . ConfigureAwait ( false ) ;
@@ -451,6 +455,25 @@ private async Task ProcessRecordCustomerInformationAsync(WebSocket openAiWebSock
451
455
await SendToWebSocketAsync ( openAiWebSocket , recordSuccess ) ;
452
456
await SendToWebSocketAsync ( openAiWebSocket , new { type = "response.create" } ) ;
453
457
}
458
+
459
+ private async Task ProcessRecordOrderPickupTimeAsync ( WebSocket openAiWebSocket , AiSpeechAssistantStreamContextDto context , JsonElement jsonDocument , CancellationToken cancellationToken )
460
+ {
461
+ var recordSuccess = new
462
+ {
463
+ type = "conversation.item.create" ,
464
+ item = new
465
+ {
466
+ type = "function_call_output" ,
467
+ call_id = jsonDocument . GetProperty ( "call_id" ) . GetString ( ) ,
468
+ output = "Record the time when the customer pickup the order."
469
+ }
470
+ } ;
471
+
472
+ context . OrderItems . Comments = JsonConvert . DeserializeObject < AiSpeechAssistantOrderDto > ( jsonDocument . GetProperty ( "arguments" ) . ToString ( ) ) ? . Comments ?? string . Empty ;
473
+
474
+ await SendToWebSocketAsync ( openAiWebSocket , recordSuccess ) ;
475
+ await SendToWebSocketAsync ( openAiWebSocket , new { type = "response.create" } ) ;
476
+ }
454
477
455
478
private async Task ProcessHangupAsync ( WebSocket openAiWebSocket , AiSpeechAssistantStreamContextDto context , JsonElement jsonDocument , CancellationToken cancellationToken )
456
479
{
0 commit comments