- Remove Dictionary-derived types
- Add an optional name to orchestrations
- Make Handoffs based purely on AIAgent instances rather than separately provided names
* Add ChatClientAgent constructor overload
* Add unit tests for new constructor
* Up code coverage with extra tests
* Address PR comments.
* Address PR comment
* Add additional test to increase code coverage.
* Basic agent invocation sample
* Simplify sample further.
* Add additional comment.
* Address code review comments.
* Suppress CA2000 and remove using from most basic sample, since the IChatClient instances involved do not do any disposal.
* Fix handoff function names
Handoffs are including the agent name in the function name. But the agent name can include characters that are invalid for a function name, which results in errors. Replace them.
* Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffActor.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@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.
* DI WIP
* Update dependency injection examples and Agent Creation update
* Rollback override for GettingStarted as Azure.AI.OpenAI package currentl does not support OpenAI 2.2.0 GA version
* Dropping ct
* Update dotnet/samples/GettingStarted/AgentSample.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add ADR for different run response options
* Add another option to the list.
* Update agno non-streaming with further clarification
* Add another option
* Adding optional includeUpdates option
* Adding Pros/Cons for each option
* Make pros/cons a list
* Add some thoughts on structured outputs and custom AIContent types
* Update design doc to clarify primary and secondary better and split out custom response types with it's own options
* Add structured outputs competitive comparison and suggestion
* Address PR comments.
* Remove AgentRunFinishReason until we can find a good use case for it.
* Add finish reason to list of excluded properties.
* Add custom agent run response types.
Usage to follow.
* Update Agent run response types
* Add additional code coverage
* Remove onIntermediateMessage since it is unecessary with the new response approach.
* Add AgentId to response.
* Rename ParseAsStructuredOutput to Deserialize
* Update decision doc.
* Fix formatting.
* Update CopilotStudio to return new response types
* Address PR comment
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
---------
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
* 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.
* Remove instructions from base agent type, and ensure description is only required where necessary.
* Fix code issue.
* Remove unused import.
* Remove typo
* Make the description parameter optional
* Also use name for handoffs if no description is provided.
* Added code interpreter abstraction updates for OpenAI Assistants
* Updated Persistent Agents implementation based on latest changes in SDK
* Added code interpreter abstraction updates for Azure AI Persistent Agents
* Small note for OpenAI responses code interpreter
* Small update
* Fixes after merge
* Addressed PR feedback
* Small update
* Small fix
* Fix after merge
* Rename the folders
* Rename the .csproj files
* Some build file updates
* Update namespaces
* Fix order of imports
* Fix order of imports
* Fix order of imports
- Id should return a stable ID, not a different value per access
- The RunAsync virtuals needn't be virtuals... a derived type can/should override just the main worker abstract method
- The protected methods should do argument validation
* Remove additional instructions from AgentRunOptions since it is not well supported outside of ChatClientAgents
* Fix typos and remove unused test.
* Make further namespace fixes and update AzureAIAgent with new tests.
* Expand tests to increase code coverage
* Add sample for OpenAIAssistant
* Fix warning
* Add tools sample and simplify running samples.
* Restructure samples to show common features separate from each type of underlying IChatClient implementation.
* Remove unecessary suppression.
* Renaming namespaces based on suggestion from PR.
* Update ChatClientAgentThread to support both in-memory and service storage.
* Fix typos.
* Address PR comments
* Move code to reusable sections.
* Remove DefaultThreadStorageLocation
* Change thread type naming and make it internal
* Fix bug for streaming case.
* Add additional unit tests
* Add more unit tests to verify agent's thread update behavior.