AssistantState CreateAssistantStateResponse()

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());
    }