Skip to content

.NET: [BREAKING] Rename ChatMessageStore to ChatHistoryProvider - #3375

Merged
westey (westey-m) merged 10 commits into
microsoft:mainfrom
westey-m:chathistoryprovider-rename
Jan 23, 2026
Merged

.NET: [BREAKING] Rename ChatMessageStore to ChatHistoryProvider#3375
westey (westey-m) merged 10 commits into
microsoft:mainfrom
westey-m:chathistoryprovider-rename

Conversation

@westey-m

@westey-mwestey (westey-m) commented Jan 22, 2026

Copy link
Copy Markdown
Contributor

Motivation and Context

Currently there is confusion about ChatMessageStore. Many people assume based on the name that it is a full CRUD abstraction for storing chat history. The intention though is to just provide ChatHistory to an Agent per run and store the results of the agent.

A ChatHistoryProvider implementation may of course use a full CRUD abstraction for loading and saving messages, and we may considering providing something like that in future.

#1712

Description

  • Rename ChatMessageStore to ChatHistoryProvider

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

CopilotAI review requested due to automatic review settings January 22, 2026 14:36
@markwallace-microsoftMark Wallace (markwallace-microsoft) added .NET Usage: [Issues, PRs], Target: .Net workflows Usage: [Issues, PRs], Target: Workflows labels Jan 22, 2026
@github-actionsgithub-actionsBot changed the title Rename ChatMessageStore to ChatHistoryProvider.NET: Rename ChatMessageStore to ChatHistoryProviderJan 22, 2026

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request renames ChatMessageStore to ChatHistoryProvider throughout the codebase to better reflect its purpose. The name ChatMessageStore implied it was a full CRUD abstraction for storing chat history, when the actual intention is to provide chat history to an agent per run and store the results of the agent's execution.

Changes:

  • Renamed the core abstraction class from ChatMessageStore to ChatHistoryProvider
  • Renamed all implementations: InMemoryChatMessageStoreInMemoryChatHistoryProvider, CosmosChatMessageStoreCosmosChatHistoryProvider, WorkflowMessageStoreWorkflowChatHistoryProvider
  • Updated all properties, parameters, variables, and factory methods to use the new naming convention
  • Updated all unit tests, integration tests, and samples to reflect the new naming
  • Updated XML documentation and comments throughout

Reviewed changes

Copilot reviewed 43 out of 43 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
ChatHistoryProvider.csCore abstraction class renamed with updated documentation
InMemoryChatHistoryProvider.csIn-memory implementation renamed with updated documentation
CosmosChatHistoryProvider.csCosmos DB implementation renamed with updated documentation
WorkflowChatHistoryProvider.csWorkflow implementation renamed
ChatClientAgent.csUpdated to use ChatHistoryProvider throughout
ChatClientAgentThread.csUpdated property names and documentation
ChatClientAgentOptions.csUpdated factory property name
Extension filesRenamed extension classes and methods
Test filesUpdated all test classes and methods
Sample filesUpdated all sample code

Comment threaddotnet/src/Microsoft.Agents.AI.Abstractions/InMemoryAgentThread.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI.CosmosNoSql/CosmosDBChatExtensions.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI.Abstractions/InMemoryAgentThread.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI.Abstractions/InMemoryAgentThread.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI.Abstractions/InMemoryAgentThread.cs Outdated
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

.NETUsage: [Issues, PRs], Target: .NetworkflowsUsage: [Issues, PRs], Target: Workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@westey-m@rogerbarreto@SergeyMenshykh@markwallace-microsoft