in src/WebJobs.Extensions.OpenAI/Assistants/AssistantService.cs [444:464]
AssistantState CreateAssistantStateResponse(string assistantId, InternalChatState chatState, DateTime timeFilter)
{
List<ChatMessageTableEntity> filteredChatMessages = chatState.Messages
.Where(msg => msg.CreatedAt > timeFilter && msg.Role == ChatMessageRole.Assistant.ToString())
.ToList();
this.logger.LogInformation(
"Returning {Count}/{Total} chat messages from entity '{Id}'",
filteredChatMessages.Count,
chatState.Metadata.TotalMessages,
assistantId);
return new AssistantState(
assistantId,
true,
chatState.Metadata.CreatedAt,
chatState.Metadata.LastUpdatedAt,
chatState.Metadata.TotalMessages,
chatState.Metadata.TotalTokens,
filteredChatMessages.Select(msg => new AssistantMessage(msg.Content, msg.Role, msg.ToolCallsString)).ToList());
}