Skip to content

.NET: Add a TODO AIContextProvider - #5233

Merged
westey (westey-m) merged 5 commits into
microsoft:feature-harnessfrom
westey-m:todo-provider
Apr 14, 2026
Merged

.NET: Add a TODO AIContextProvider#5233
westey (westey-m) merged 5 commits into
microsoft:feature-harnessfrom
westey-m:todo-provider

Conversation

@westey-m

Copy link
Copy Markdown
Contributor

Motivation and Context

Description

  • Adds the ability for an agent to build a list of todo items and mark them off as completed.
  • Todo items are stored in state.

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 April 13, 2026 17:57
@moonbox3Evan Mattson (moonbox3) added the .NET Usage: [Issues, PRs], Target: .Net label Apr 13, 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

Note

Copilot was unable to run its full agentic suite in this review.

Adds a TodoProviderAIContextProvider that exposes todo-management tools to agents and persists todo state in session state.

Changes:

  • Introduces a session-persisted TodoState (items + next id).
  • Adds TodoProvider with AI tools for adding/completing/removing/querying todos and default instructions.
  • Adds TodoItem / TodoItemInput models with JSON serialization attributes.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

FileDescription
dotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoState.csAdds session-persisted state model for todo items and ID allocation.
dotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoProvider.csImplements the AI context provider and tool functions for todo management.
dotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoItemInput.csAdds tool input model for creating todos (title/description).
dotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoItem.csAdds public todo item model returned from tools and APIs.

Comment threaddotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs
Comment threaddotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs
Comment threaddotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoProvider.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoProvider.cs Outdated
Comment threaddotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs
@github-actionsgithub-actionsBot changed the title Add a TODO AIContextProvider.NET: Add a TODO AIContextProviderApr 13, 2026
Comment threaddotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs
Comment threaddotnet/src/Microsoft.Agents.AI/Harness/Todo/TodoProvider.cs
Comment threaddotnet/src/Microsoft.Agents.AI/Magentic/Todo/TodoProvider.cs Outdated
@westey-m
westey (westey-m) merged commit 673f3d9 into microsoft:feature-harnessApr 14, 2026
12 checks passed
pullBot pushed a commit to nagyist/ms-agent-framework that referenced this pull request May 1, 2026
* .NET: Add a TODO AIContextProvider (microsoft#5233)
* Add a TODO AIContextProvider
* Add unit tests
* Address PR comments
* Address PR comments
* Fix test after removing one tool
* .NET: Add a ModeProvider for managing agent modes (microsoft#5247)
* Add a ModeProvider for managing agent modes
* Fix typo
* Fix typo
* Fix typo
* Address PR comments
* .NET: Add sample to show how to build a harness (microsoft#5268)
* Add sample to show how to build a harness
* Improve sample
* Sample max output tokens and model
* Fix encoding
* Fix model name in readme
* Address PR comments
* .NET: Add context window size compaction strategy for harness (microsoft#5304)
* Add context window size compaction strategy for harness
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Address PR comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* .NET: Add a file memory provider (microsoft#5315)
* Add a file memory provider
* Address PR comments
* Fix review comments.
* Add additional unit tests
* Addressing PR comments.
* .NET: Harness: Improve prompts and add FileSystem store (microsoft#5365)
* Harness: Improve prompts and add FileSystem store
* Address PR comments
* .NET: Harness: Improve path validation (microsoft#5404)
* Harness: Improve path validation
* Address PR comments
* .NET: Add always approve helpers, improve sample and fix bug (microsoft#5451)
* Add always approve helpers, improve sample and fix bug
* Address PR comments
* .NET: Make Todo, Mode and FileMemory providers more configurable (microsoft#5477)
* Make Todo, Mode and FileMemory providers more configurable
* Address PR comments.
* .NET: Add subagents provider and sample (microsoft#5518)
* Add subagents provider and sample
* Addressing PR comments.
* .NET: Harness filememory index plus instructions consistency (microsoft#5540)
* Add FileMemoryProvider index and improve instruction consistency
* Address PR comments.
* Address PR comments
* Address PR comments.
* Apply suggestion from @rogerbarreto
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
---------
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
* .NET: Refactor harness console to be more extensible and easy to understand with better UX (microsoft#5573)
* Refactor harness console to be more extensible and easy to understand with better UX.
* Fix formatting issues.
* Allow multiple clarifications in one response
* Address PR comments
* .NET: Add FileAccessProvdider and concurrency fix for FileMemoryProvider (microsoft#5583)
* Add FileAccessProvdider and concurrency fix for FileMemoryProvider
* Address PR comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

.NETUsage: [Issues, PRs], Target: .Net

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@westey-m@lokitoth@SergeyMenshykh@moonbox3