74879489a4
.NET Workflow - Integrated updated CPS Object Model ( #681 )
...
* Checkpoint
* Update workflows/DeepResearch.yaml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Comment
* Fix comment
* Update package version
* Fix nuget haxx
* Checkpoint
* Code complete
* Testing
* Message content workaround
* Add sequential flow
* Checkpoint
* Integration test project
* Checkpoint
* Checkpoint cleanup
* Complete
* Update package
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-15 20:41:07 +00:00
636e3acf37
.NET: [BREAKING] Change implementation to use AsFunctionTool extension method to create a function from an agent ( #686 )
...
* Change implementation to use AsFunctionTool extension method to create a function from an agent
* Update dotnet/tests/Microsoft.Extensions.AI.Agents.UnitTests/AgentExtensionsTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address code review feedback and add a new sample
* Address some code review feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-15 08:39:38 +00:00
Tao Chen and GitHub
89c8418705
.NET: Workflow getting started samples in .Net (Second batch) ( #650 )
...
* Add loop and agents in workflows samples
* Add foundry agent and workflow as agent samples
* Checkpoint sample WIP
* Checkpoint sample 1 Done
* Add HIL samples
* Fix formatting
* Force folder name change step 1
* Force folder name change step 2
* Fix formatting
* Fix formatting
* Add checkpoint and rehydrate sample
* _Foundational
* Fix formatting
2025-09-10 18:47:13 +00:00
Roger Barreto and GitHub
2393351a03
.NET: Adding Image Multi Modality Sample ( #688 )
...
* Adding Multi Modal Sample
* Address typos
* Update sample to Azure OpenAI
* Update readme
* Update readme
* Update readme
* Use thread
2025-09-10 18:34:08 +00:00
7786e2f405
.NET: Add getting started samples that show how to call MCP tools ( #635 )
...
* 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 >
2025-09-10 05:52:30 +00:00
Mark Wallace and GitHub
745a05d43c
.NET: Add an A2A client server sample ( #633 )
...
* Add an A2A client server sample
* Address code review feedback
* Start to fix code review feedback
* Start to fix code review feedback
* Start to fix code review feedback
2025-09-09 17:03:10 +00:00
b2a6b64d72
.NET: Add Ollama and custom agent samples, plus ONNX improvements ( #639 )
...
* Add ollama and custom agent samples, plus onnx improvements
* Update dotnet/samples/GettingStarted/AgentProviders/Agent_With_CustomImplementation/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address PR comments.
* Address pr comments.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-09 11:04:31 +00:00
Chris and GitHub
240edb00cd
.NET Workflows - Update structure of samples ( #645 )
...
* Updated
* Typos
* Update readme fwiw
2025-09-08 23:16:29 +00:00
Tao Chen and GitHub
cd0587c5f6
.NET: Workflow getting started samples in .Net (First batch) ( #554 )
...
* First batch of workflow getting started samples in .Net
* Add Switch Case Edge group
* Add multi selection group
* Add comments
* Add readme
* Fix formatting
* clean project file
* WIP: Revise sample structures
* Update readme
* Update readme
* Fix file encoding
* Update sample format
* Address comments
* Fix formatting
* Remove unwanted file
* Fix unit tests
* Remove unwanted file
2025-09-05 19:10:00 +00:00
dbc961c869
.NET: AI agent as an MCP tool ( #612 )
...
* add sample demostrating how to expose ai-agent as an mcp tool
* Update dotnet/samples/GettingStarted/Agents/Agent_Step10_AsMcpTool/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/samples/GettingStarted/Agents/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* remove threadId parameter
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-05 09:57:30 +00:00
d54edf20c9
.NET: Getting started samples which use OpenAI exchange types ( #598 )
...
* Getting started samples which use OpenAI exchange types
* Update dotnet/src/Microsoft.Extensions.AI.Agents.OpenAI/Extensions/AgentRunResponseUpdateExtensions.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/src/Microsoft.Extensions.AI.Agents.OpenAI/Extensions/AgentRunResponseUpdateExtensions.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/src/Microsoft.Extensions.AI.Agents.OpenAI/ChatCompletion/StreamingUpdatePipelineResponse.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/samples/GettingStarted/AgentWithOpenAI/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix pipeline response
* Update dotnet/samples/GettingStarted/AgentWithOpenAI/README.md
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com >
* Update comment to reflect OpenAI backend usage
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com >
2025-09-03 16:42:08 +00:00
24ad03af6f
.NET: Add Declarative Workflow Interpreter ( #401 )
...
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* Conversion checkpoint
* Fix namespace error
* Restructure
* Completion
* Executor checkpoint
* Conditional checkpoint
* Cleanup
* Exception cleanup
* Sample cleanup
* Updates
* feat: Define Workflow and Executor APIs
* feat: Define IExecutionContext and Events
* feat: Simple Workflow Demos
* refactor: Move Workflows classes to separate assembly
* feat: Move FanOut/In to LowLevel API with new semantics
* feat: Implement Local Execution
* refactor: Assembly name .Workflow => .Workflows
* feat: Enable Default Message Handling
* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
* feat: Implement StreamingHandle APIs
This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
* feat: Add checks for duplicate edges and chain cycles
* feat: Add built-in WorkflowEvents
* refactor: Pull classes into own files
* refactor: Simplify Disposal pattern in Executor
* refactor: Break EdgeRunner file into per-type files
* refactor: Use Throw.IfNull()
* refactor: Remove AddLoop()
Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
* refactor: Normalize use of ValueTask
* fix: Build Break from removing .AddLoop
* refactor: Explicit routing and RouteBuilder
Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* refactor: Remove unused types
* refactor: Simplify Event and EdgeData type hierarchies
* feat: Add Switch (=Conditional Edge Group) control flow
* Fix unit-tests
* Add sample
* Comment cleanup
* Fix debug output
* Formating helpers
* feat: Define Workflow and Executor APIs
* feat: Define IExecutionContext and Events
* feat: Simple Workflow Demos
* refactor: Move Workflows classes to separate assembly
* feat: Move FanOut/In to LowLevel API with new semantics
* feat: Implement Local Execution
* refactor: Assembly name .Workflow => .Workflows
* feat: Enable Default Message Handling
* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
* feat: Implement StreamingHandle APIs
This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
* feat: Add checks for duplicate edges and chain cycles
* feat: Add built-in WorkflowEvents
* refactor: Pull classes into own files
* refactor: Simplify Disposal pattern in Executor
* refactor: Break EdgeRunner file into per-type files
* refactor: Use Throw.IfNull()
* refactor: Remove AddLoop()
Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
* refactor: Normalize use of ValueTask
* fix: Build Break from removing .AddLoop
* refactor: Explicit routing and RouteBuilder
Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* refactor: Remove unused types
* refactor: Simplify Event and EdgeData type hierarchies
* feat: Add Switch (=Conditional Edge Group) control flow
* feat: Make .NET AutoSend the MessageHandler result
* feat: Implement State APIs
* Add tests
* Fix merge from main
* Test coverage
* Message event
* Comments and clean-up
* Format
* Cleanup
* Test checkpoint
* Clean-up - comments / test
* Test baseline - 100%
* More clean-up
* Comments
* Streaming...sort've...
* Fix build / test
* Stable
* Checkpoint
* Checkpoint
* Stable
* Update sample after merge
* Add "Question" workflow
* State clean-up checkpoint
* State clean-up
* Sample updated
* Expression bug fix
* Sample formatting
* Add unit test
* Comments
* Scope cleanup
* Refine cleanup
* Fill gaps
* fcs
* Finalize data-types
* Add unit-test
* Debug cleanup
* Bug fixes
* Demo progress
* Sample clean-up
* Update samples
* Sample updates
* Sync demo workflows
* Sample formatting
* Sample formatting
* Demo complete
* Workflow formatting
* Demo formatting #2
* Readme + Sample clean-up
* Scope update
* Update diagnostics
* Variable initiaization
* Rollback
* Tune research summary
* State management
* Fix merge
* Fix merge - demo
* Add readme
* Overload for workflow builder
* Fault tolerance - scope equivalency
* Fix feed
* Update sample
* Add default for "Bot"
* Nuget.config patchwork
* Scope assignment check
* Rollback nuget.config haxx
* Sample format
* Namespace
* Namespace
* Agent-Provider
* Clean-up extra files
* Renaming
* Update sample
* Prune junk files
* Clean-up
* Use transform
* agent provider fix
* Typo
* Null check fix
* Fix merge
* Checkpoint
* Cleanup
* Exception cleanup
* Exception message
* Clean-up
* Sample config update
* Update handling of "Env" scope
* Sample agent templates
* Add readme
* Event cleanup
* Rename event
* Update workflows/README.md
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
---------
Co-authored-by: Jacob Alber <jaalber@microsoft.com >
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
2025-09-03 16:32:15 +00:00
7dee184ae4
.NET: Organize the .Net samples ( #578 )
...
* Organize the .Net samples
* Organize the .Net samples
* Merge latest from main
* Update sample to also include function calling telemetry (#577 )
* Move package installation instructions to user-guide (#572 )
* Move package installation instructions to user-guide
* Update user-documentation-dotnet/getting-started/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update docs/docs-templates/getting-started/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* .NET: Add SK-AF Migration Samples for Responses API. (#575 )
* Responses wip
* Adding OpenAI Responses Migration samples
* Address all samples and code for Azure and OpenAI Responses Migration code
* Update dotnet/samples/SemanticKernelMigration/OpenAIResponses/Step02_ReasoningModel/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Organize the .Net samples
* Organize the .Net samples
* Merge latest from main
* Use Agent rather than AIAgent
* Rename agents getting started samples
* Use singular Agent
---------
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-02 10:52:07 +00:00
9b61c72e18
.NET: Add SK-AF Migration Samples for Responses API. ( #575 )
...
* Responses wip
* Adding OpenAI Responses Migration samples
* Address all samples and code for Azure and OpenAI Responses Migration code
* Update dotnet/samples/SemanticKernelMigration/OpenAIResponses/Step02_ReasoningModel/Program.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-02 08:45:54 +00:00
Roger Barreto and GitHub
cf0e779638
.NET: Add missing Azure OpenAI Migration Sample code ( #559 )
...
* Add missing Azure OpenAI Migration Sample code
* Add Azure OpenAI Assistants Samples
* Address miner README typos
* Remove leftover
2025-09-01 12:04:26 +00:00
1d2f833122
.NET: A2A agent ( #520 )
...
* add a2a agent
* Update dotnet/src/Microsoft.Extensions.AI.Agents.A2A/A2AAgent.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* address pr review feedback
* move unit tests for extension methods to the extensions folder
* address pr review comments
* address pr review comments
* address pr review feedback
* move a2a agent sample to console app
* remove unnecessary Ids set for new projects in the solution file
* remove unnecessary configuration
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-01 08:30:30 +00:00
Roger Barreto and GitHub
dac17a8f48
.NET: Adding Semantic Kernel - Migration Samples ( #499 )
...
* Guidance
* Guidance
* WIP Migration Preps
* Move to single file projects
* Update guidance code and final adjustments to ensure all feature compatibility
* Move from demos to samples
* Address format
* Address chat client pipeline order
* Update project naming
* Revisition on README
* Remove unused ctor
* Address feedback
* Address feedback
* Address merge conflict fix
* Address SK versioning
* Address folder naming
* Address feedback
2025-08-29 14:29:03 +00:00
fe1941d25f
.NET: Add samples to show how to create an AIAgent for each provider. ( #525 )
...
* Add samples to show how to create an AIAgent for each provider.
* Update dotnet/samples/HowToCreateAnAIAgentByProvider/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address PR comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-28 14:25:19 +00:00
westey and GitHub
bbea3c00f8
.NET: Add more console based getting started samples ( #507 )
...
* Add more console based getting started samples
* Simplify function calling and approavls samples and some minor renaming based on PR feedback.
* Cover streaming with comments for aprovals sample.
* Remove extra line break.
* Update getting started samples list in readme.
* Address PR comments
* Address PR comments.
2025-08-28 14:14:25 +00:00
westey and GitHub
435fd14da5
Add proposed stucture for samples and user documentation ( #484 )
2025-08-25 17:11:09 +00:00
6ec21859cf
.NET: feat: Microsoft.Extensions.AI.Agents.Hosting.A2A package ( #390 )
...
* add timeout handling for message send
* prepare a2a proj
* fix it finally
* add a holder for selected protocol
* init types ;
* see discoveredAgentCardJson
* prettify json
* correct usage
* client setup for card
* setp?
* message:send
* init task based communication
* try call it via the agent thread
* okay i got back the message wooooow!
* nit
* fix duplicates
* yea matey!
* fix knights-knaves for A2A-Task-based communication
* fix a2a agents csproj
* AI feedback
* a2a does not support netstandard / netfx
* try fix build + refactor
* bump a2a for net9 only
* rollback System.Net.ServerSentEvents & Microsoft.Bcl.AsyncInterfaces version upgrade; override in-place and retarget to net9;net8 for A2A
* address PR comments x1
* refactor a2a interfaces
* address PR comments x2
* fix cancel usage
* separate project for A2A.AspNetCore
* simplify
* cleanup
* cleanup dependencies
* generate convertor tests / fix namespaces etc
* setup actor client!
* fix build
* backoff conversations
* fix duplicate message streaming
* address PR comments x1
* remove internalsvisibleto
* dont implement agent card query on my own: give it to the user
* nit
* rename and move projects
* fix dotnet-format
* address PR comments x1
* remove unreferenced project
* rollback
* rename
* nit
---------
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com >
2025-08-25 11:14:55 +00:00
westey and GitHub
71a0bf22eb
.NET: Enhance console samples while preserving copyability ( #475 )
...
* Enhance console samples while preserving copyability
* Add readme for minimal console demo
* Suppress pre-release version warning
* Address PR comments
* Change showing settings to opt-in
* Update comment
2025-08-22 14:58:10 +00:00
Korolev Dmitry and GitHub
25291de8cb
.NET: chore: support retries on Cosmos storage creation ( #402 )
...
* support retries
* tests + registration options
* fix ordering ..
* HK + update packages
* fix paths
* Update dotnet/tests/CosmosDB.IntegrationTests/Microsoft.Extensions.AI.Agents.Runtime.Storage.CosmosDB.Tests/CosmosTestFixture.cs
* re create project and fix some pk usage
* fix all tests
* try workflow?
* wip 1
* fix definition
* try with cosmos_use_emulator env?
* try ignore SSL errors?
* other cert verifications
* hardcode to 8081?
* proper valuation of ENV
* logging
* ensure db exsists for CI
* bump
* cleanup
* fix usage
* nit comment
* try only release for stability?
* try skip some flaky tests
* merge fixes + rollback container
* reimplement with iasyncdisposable pattern
* remove example doc struct
2025-08-21 18:37:12 +00:00
Roger Barreto and GitHub
531132057b
.NET: Update OpenTelemetry Agent - Added Demo, AIAgentMetadata and Agent.GetService() ( #356 )
...
* OTEL Demo
* updating telemetry sample
* OTEL updates
* WIP
* Adding GetService and Agent Metadata for Telemetry
* WIP
* Add UT for OTEL System behavior
* Address Unicode problem
* Add logging
* Adjust for new extensions
* Change Logger to LoggerFactory for the extension method
* Address AI Feedback
* Simplify script and readme just for Azure OpenAI
* Increase code converage
* Address merge conflict
* Another slnx fix
* Address PR comments
* Address PR feedback + Add UT
* Added Hosting UT to the solution
* Address PR comments
* Address missing sensitivity tests
* Remove unecessary override
* Address PR comments
2025-08-15 15:41:21 +00:00
32711cfa95
.Net: WIP: feat: Define Workflow and Executor APIs ( #261 )
...
* feat: Define Workflow and Executor APIs
* feat: Define IExecutionContext and Events
* feat: Simple Workflow Demos
* refactor: Move Workflows classes to separate assembly
* feat: Move FanOut/In to LowLevel API with new semantics
* feat: Implement Local Execution
* refactor: Assembly name .Workflow => .Workflows
* feat: Enable Default Message Handling
* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
* feat: Implement StreamingHandle APIs
This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
* feat: Add checks for duplicate edges and chain cycles
* feat: Add built-in WorkflowEvents
* refactor: Pull classes into own files
* refactor: Simplify Disposal pattern in Executor
* refactor: Break EdgeRunner file into per-type files
* refactor: Use Throw.IfNull()
* refactor: Remove AddLoop()
Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
* refactor: Normalize use of ValueTask
* fix: Build Break from removing .AddLoop
* refactor: Explicit routing and RouteBuilder
Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* refactor: Remove unused types
* refactor: Simplify Event and EdgeData type hierarchies
* feat: Add Switch (=Conditional Edge Group) control flow
* feat: Make .NET AutoSend the MessageHandler result
* feat: Implement State APIs
* refactor: Simplify public namespaces and code organization
* refactor: Reconcile .NET and Python names
---------
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com >
2025-08-13 22:34:39 +00:00
e7441ee29e
.NET: Add agent hosting package and update sample ( #296 )
...
* 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 >
2025-08-06 21:26:36 +00:00
Aditya Mandaleeka and GitHub
f5b35d8403
.NET: CosmosDB Actor State Storage ( #262 )
...
* Implement CosmosDB actor state storage.
* Fix.
* Minor fixes.
* Fixes.
* Make CosmosDB initialization be lazy.
* Remove unnecessary read from write path.
* Throw on empty writes.
* Add arg validation for read.
* Add CosmosIdSanitizer.
* Fix.
* Fix.
* Simplify doc IDs.
* Update comment.
* fb
* Make LazyCosmosContainer internal and add tests.
* Make test constants public and remove IVT.
* Use source generated JSON context for future nativeAOT support.
* Re-add dropped comments.
2025-08-05 00:11:49 +00:00
139f033b05
.Net: Add Structured output ChatClientAgent samples ( #250 )
...
* WIP
* Structured Output sample
* Update dotnet/samples/GettingStarted/Steps/Step06_ChatClientAgent_StructuredOutputs.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address xml and comment targeting the Structured Output context
* Update with proposed fix for Persistent ChatClient
* Address PR feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com >
2025-07-31 11:35:29 +00:00
e877ffbca1
.NET: Move external MEAI classes to releasable packages ( #279 )
...
* Move external MEAI classes to releaseable packages
* Update dotnet/src/Microsoft.Extensions.AI.Agents.Abstractions/MEAI/NewHostedFileSearchTool.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/src/Microsoft.Extensions.AI.Agents.Abstractions/MEAI/NewHostedCodeInterpreterTool.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update dotnet/src/Microsoft.Extensions.AI.Agents.AzureAI/NewPersistentAgentsChatClient.cs
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com >
2025-07-30 14:40:04 +00:00
Reuben Bond and GitHub
41d441420e
Initial draft of actor runtime abstractions ( #197 )
...
* Initial draft of actor runtime abstractions
2025-07-22 16:05:58 -04:00
westey and GitHub
a8fadbc49c
Add a minimum console demo app ( #198 )
...
* Add a minimum console demo app
* Remove hardcoded values from sample.
* Make console project .net 9.0 only.
* Move minimum console demo to demo folder.
* Fix framework issue with demo project.
* Undo unintended commit.
* Address PR comments
* Fix build issue.
* Address PR Comments
* Rename Agent to AIAgent in new console app.
2025-07-21 09:49:47 +00:00
6e57489a44
.Net: Add OpenTelemetry Support and Samples ( #182 )
...
* Adding sample and implementation similar to MEAI approach
* Add Telemetry UnitTests
* Fix Async suffix
* Add ADR with the proposal
* Address merge changes
* Fixing const visibility + coverage
* Increase test coverage, add metrics collection code paths
* Fix warnings
* WIp
* Convention adeherence
* Add gen-ai.system logic + UT
* Add convetion reference
* Address PR comments
* Addressing PR comments, Agent name optional
* Remove constant
* Update dotnet/src/Microsoft.Extensions.AI.Agents/ChatCompletion/ChatClientAgent.cs
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com >
* GetLoggingName
---------
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com >
2025-07-16 17:00:24 +00:00
westey and GitHub
dd32a6d399
Add extension methods to get an AF agent from a Foundry Client ( #191 )
...
* Add helpers to go from foundry client to agent more easily.
* Fix xml docs.
2025-07-16 14:45:31 +00:00
Dmytro Struk and GitHub
fa96f74ee9
Removed Persistent SDK IChatClient implementation ( #190 )
2025-07-15 17:37:42 +00:00
Stephen Toub and GitHub
456e7d1b65
Round 2 of cleanup for agent runtime and orchestrations ( #164 )
...
- 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.
2025-07-11 11:12:18 -04:00
westey and GitHub
b708e2507d
Add PoC CopilotStudio agent ( #84 )
...
* 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.
2025-07-11 09:20:40 +00:00
Stephen Toub and GitHub
4a0f8dcbe0
Port Agent Runtime abstractions / inprocess runtime ( #149 )
2025-07-09 09:08:45 -04:00
7c8ec5ec19
.NET Port Agent Orchestration ( #107 )
...
* Checkpoint
* Checkpoint
* Namespaces
* Namespace
* Cleanup
* Namespace order
* Fix sync
* Formatting
* Formatting
* Namespace
* Namespace order
* Code convention
* Naming
* Naming
* Text handling
* Text handling
* Namespace
* Namespace order
* Namespace ordering
* Test
* ValueTask
* net472
* Test fix
* Fix namespace (net472)
* Namespace
* Fix conditional namespace
* Fix type expression
* Compatibility and cleanup
* Sample compatibility
* Sample compat
* Test compat
* modifier order
* Simply http-stub
* Formating fix for unit-test
* Fix test
* Real fix
* Test clean-up
* Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffOrchestration.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix build errors after merging
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Stephen Toub <stoub@microsoft.com >
2025-07-08 13:04:34 -04:00
Mark Wallace and GitHub
95738b0ac2
Renaming to use Microsoft.Extensions prefix ( #120 )
...
* 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
2025-07-01 08:15:28 +00:00
Roger Barreto and GitHub
06a690685f
.Net: Add Reasoning Model Integration tests ( #100 )
...
* Add reasoning integration tests
* Adding Reasoning Model config
2025-06-25 19:50:29 +00:00
Dmytro Struk and GitHub
47dcad6b49
.Net: Added Azure AI Persistent Agents ( #81 )
...
* Added PersistentAgentsChatClient
* Added integration tests
* Small fixes
* Added sample
* Added TODO for tools
* Small rename
* Removed user-secrets id
* Renamed project
* Fixed warning
* Fixed warning
* More fixes
* More fixes
2025-06-19 14:01:26 +00:00
westey and GitHub
d1d69af482
Add tests for ChatClientAgent with OpenAI responses ( #82 )
...
* Add tests for ChatClientAgent with OpenAI responses
* Address PR comments
* Fix typo
2025-06-19 09:12:24 +00:00
westey and GitHub
e6bfc51367
Add additional integration tests and add OpenAIAssistant integration tests project. ( #79 )
...
* Add additional integration tests and add OpenAIAssistant integration tests project.
* Address PR comments.
* Address PR comments.
2025-06-17 11:43:29 +00:00
westey and GitHub
293cdb1846
Add test infrastructure for agent conformance tests ( #77 )
...
* Add test infrastructure for agent conformance tests
* Address PR comments.
* Switch TargetFrameworks to have inline condition
2025-06-16 11:32:20 +01:00
westey and GitHub
d6dc360215
Update ChatClientAgentThread to support both in-memory and service storage. ( #70 )
...
* 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.
2025-06-12 13:28:08 +00:00
2c75f13337
.Net: Add ChatClientAgent Samples - OpenAI Model Client ( #72 )
...
* Add Streaming API
* Removing InstructionsRole
* Updating thread notification strategy
* Fix net472 failing
* Small fixes
* Adding Samples for OpenAI
* WIP samples
* default runsettings for unit tests
* Adding first samples with OpenAIModelChatClientAgents
* Removing OpenAI dependency on the sample utility
* Release -> Debug update for GettingStarted project
* Fix GettingStarted.csproj failing to build in Release
* Update dotnet/src/Shared/Samples/BaseSample.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address PR feedback
* Fix Step 1 samples
* Simplify code
* Address PR feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-12 12:22:07 +00:00
Dmytro Struk and GitHub
41facf3a2d
.Net: Added shared classes ( #58 )
...
* Added Throw shared class
* Added Experimental attribute
* Added IsExternalInit
* Added TrimAttributes
* Small update
* Small update
* Suppress warning
* Added comment
* Updated LegacySupport.props
* Small updates
2025-06-04 08:44:12 +00:00
westey and GitHub
d0531bb93b
Add skeleton dotnet project structure ( #49 )
...
* 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.
2025-05-29 15:58:57 +00:00