* Add getting started samples that show how to call MCP tools
* Add getting started samples that show how to call MCP tools
* Update dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix README
* Address code review feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add agent hosting package and update sample
* Review feedback and cleanup
* Include the narrator
* wip
* wip
* Remove workaround for empty state writes.
* Handle changes to AgentThread.
* One more.
* Fix.
---------
Co-authored-by: Aditya Mandaleeka <adityam@microsoft.com>
* Add thread storage and serialization POC
* Switch to using JsonElement and add unit tests
* Add additional unit tests.
* Exclude private debugger properties from CodeCoverage.
* Rename IChatMessagesStorable to IChatMessageStore
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Improve xml doc.
* Update the message storing thread to always use external store for both local and remote storage.
* Remove threadid from the IChatMessageStore interface, since the store should own the thread id itself, if it requires one.
* Switch GetMessages to IEnumerable
* Address pr comments.
* Make jsonserializer options default consistent on DeserializeThreadAsync
* Move message storing thread functionality into AgentThread and simplify AgentThread behavior.
* Remove embedding generation from VectorStore chat history sample.
* Remove unecessary code and fix formatting.
* Make GetNewThread and DeserializeThread virtual with default implementations.
Remove unsued json utilities.
* Fix formatting
* Remove problem test.
* Add more unit tests
* Remove unused using clause.
* Address pr feedback.
* Address PR comments.
* Make InMemory store internal
* Switch InMemoryChatMessageStore to implement IList instead of inheriting from List.
* Rename store deserialize param.
* Update serialization based on PR comments.
* Remove confusing comment.
* Address Deserialization PR comments in the same way as Serialization
* Add State to IChatMessageStore Serialize and Deserialize names.
Make Thread Deserialize internal.
Make AgentThread type switching fobidden.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
- Moved InProcessRuntime type into abstractions package and deleted InProcess package.
- Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
- Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
- Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
- Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
- Removed a bunch of allocation from InProcessRuntime.
- Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
- Removed custom delegate types from orchestrations.
- Consolidated namespaces.
- Used records to simplify message classes.
- Tweaked naming on AgentActor to make purpose of protected methods more clear.
- Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
- Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
- Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
* Add project and skeleton files.
* Add CopilotStudioAgent implementation
* Add CopilotStudio integration tests
* Fix typos and PR feedback.
* Fix .net framework build errors.
* Address PR comments
* Remove temp test.
* Add rawresponse for streaming updates and more comments.
* Add TODO to review streaming updates
* Address PR comments and fix some issues with streaming messages.
* Map additional properties to agent reponses
* Update CopilotStudio integration tests to match new approach.
* Update copilot studio namespaces/project names to match new naming
* Add todo's for AIContent types.
* Remove files from PR.
* Fix up sln file.
* Update .gitignore.
* Remove duplicate package version items.
* Fixed project build in Visual Studio
* Added Agent abstractions
* Remove features we are not porting over, addressing PR comments and making updates as per agreed design.
* Add create thread method.
* Add unit tests and update invoke response type to async
* Address PR comments and fix formatting.
* Switch to shared null checker to fix build failures.
* Add additional tests to increase code coverage
* Seal mockagent
* Fix line coverage failure
* Improve coverage check formatting
---------
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
* Add skeleton dotnet project structure
* Fix casing in import statement.
* Moving tests folder to be a sibling of src.
* Update tests to use directory.builds.props and only build necessary frameworks.
* Move more test props to directory.build.props
* Add AotCompatible flag and .net 8.0
* Rename Tests to UnitTests
* Add global.json file
* Update publish mapping for unit tests to debug, to reduce build times.