gitextract_vfvjow7b/ ├── .devcontainer/ │ ├── devcontainer.json │ └── dotnet/ │ └── devcontainer.json ├── .gitattributes ├── .github/ │ ├── .linkspector.yml │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ ├── dotnet-issue.yml │ │ ├── feature-request.yml │ │ └── python-issue.yml │ ├── actions/ │ │ ├── azure-functions-integration-setup/ │ │ │ └── action.yml │ │ ├── python-setup/ │ │ │ └── action.yml │ │ └── sample-validation-setup/ │ │ └── action.yml │ ├── copilot-instructions.md │ ├── dependabot.yml │ ├── instructions/ │ │ └── durabletask-dotnet.instructions.md │ ├── labeler.yml │ ├── pull_request_template.md │ ├── scripts/ │ │ └── stale_issue_pr_ping.py │ ├── tests/ │ │ └── test_stale_issue_pr_ping.py │ ├── upgrades/ │ │ └── prompts/ │ │ └── SemanticKernelToAgentFramework.md │ └── workflows/ │ ├── codeql-analysis.yml │ ├── dotnet-build-and-test.yml │ ├── dotnet-format.yml │ ├── dotnet-integration-tests.yml │ ├── integration-tests-manual.yml │ ├── label-issues.yml │ ├── label-pr.yml │ ├── label-title-prefix.yml │ ├── markdown-link-check.yml │ ├── merge-gatekeeper.yml │ ├── python-check-coverage.py │ ├── python-code-quality.yml │ ├── python-dependency-range-validation.yml │ ├── python-dev-dependency-upgrade.yml │ ├── python-docs.yml │ ├── python-integration-tests.yml │ ├── python-lab-tests.yml │ ├── python-merge-tests.yml │ ├── python-release.yml │ ├── python-sample-validation.yml │ ├── python-test-coverage-report.yml │ ├── python-test-coverage.yml │ ├── python-tests.yml │ └── stale-issue-pr-ping.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── COMMUNITY.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── TRANSPARENCY_FAQ.md ├── agent-samples/ │ ├── README.md │ ├── azure/ │ │ ├── AzureOpenAI.yaml │ │ ├── AzureOpenAIAssistants.yaml │ │ ├── AzureOpenAIChat.yaml │ │ └── AzureOpenAIResponses.yaml │ ├── chatclient/ │ │ ├── Assistant.yaml │ │ └── GetWeather.yaml │ ├── foundry/ │ │ ├── FoundryAgent.yaml │ │ ├── MicrosoftLearnAgent.yaml │ │ └── PersistentAgent.yaml │ └── openai/ │ ├── OpenAI.yaml │ ├── OpenAIAssistants.yaml │ ├── OpenAIChat.yaml │ └── OpenAIResponses.yaml ├── docs/ │ ├── FAQS.md │ ├── decisions/ │ │ ├── 0001-agent-run-response.md │ │ ├── 0002-agent-tools.md │ │ ├── 0003-agent-opentelemetry-instrumentation.md │ │ ├── 0004-foundry-sdk-extensions.md │ │ ├── 0005-python-naming-conventions.md │ │ ├── 0006-userapproval.md │ │ ├── 0007-agent-filtering-middleware.md │ │ ├── 0008-python-subpackages.md │ │ ├── 0009-support-long-running-operations.md │ │ ├── 0010-ag-ui-support.md │ │ ├── 0011-create-get-agent-api.md │ │ ├── 0012-python-typeddict-options.md │ │ ├── 0013-python-get-response-simplification.md │ │ ├── 0014-feature-collections.md │ │ ├── 0015-agent-run-context.md │ │ ├── 0016-python-context-middleware.md │ │ ├── 0016-structured-output.md │ │ ├── 0017-agent-additional-properties.md │ │ ├── 0018-agentthread-serialization.md │ │ ├── 0019-python-context-compaction-strategy.md │ │ ├── 0020-foundry-evals-integration.md │ │ ├── README.md │ │ ├── adr-short-template.md │ │ └── adr-template.md │ ├── design/ │ │ └── python-package-setup.md │ ├── features/ │ │ ├── durable-agents/ │ │ │ ├── AGENTS.md │ │ │ ├── README.md │ │ │ └── durable-agents-ttl.md │ │ └── vector-stores-and-embeddings/ │ │ └── README.md │ └── specs/ │ ├── 001-foundry-sdk-alignment.md │ └── spec-template.md ├── dotnet/ │ ├── .editorconfig │ ├── .github/ │ │ └── skills/ │ │ ├── build-and-test/ │ │ │ └── SKILL.md │ │ ├── project-structure/ │ │ │ └── SKILL.md │ │ └── verify-dotnet-samples/ │ │ └── SKILL.md │ ├── .gitignore │ ├── .vscode/ │ │ ├── extensions.json │ │ ├── settings.json │ │ └── tasks.json │ ├── AGENTS.md │ ├── Directory.Build.props │ ├── Directory.Build.targets │ ├── Directory.Packages.props │ ├── README.md │ ├── agent-framework-dotnet.slnx │ ├── agent-framework-release.slnf │ ├── eng/ │ │ ├── MSBuild/ │ │ │ ├── LegacySupport.props │ │ │ ├── Shared.props │ │ │ └── Shared.targets │ │ └── scripts/ │ │ ├── New-FilteredSolution.ps1 │ │ └── dotnet-check-coverage.ps1 │ ├── global.json │ ├── nuget/ │ │ ├── NUGET.md │ │ └── nuget-package.props │ ├── nuget.config │ ├── samples/ │ │ ├── .editorconfig │ │ ├── 01-get-started/ │ │ │ ├── 01_hello_agent/ │ │ │ │ ├── 01_hello_agent.csproj │ │ │ │ └── Program.cs │ │ │ ├── 02_add_tools/ │ │ │ │ ├── 02_add_tools.csproj │ │ │ │ └── Program.cs │ │ │ ├── 03_multi_turn/ │ │ │ │ ├── 03_multi_turn.csproj │ │ │ │ └── Program.cs │ │ │ ├── 04_memory/ │ │ │ │ ├── 04_memory.csproj │ │ │ │ └── Program.cs │ │ │ ├── 05_first_workflow/ │ │ │ │ ├── 05_first_workflow.csproj │ │ │ │ └── Program.cs │ │ │ └── 06_host_your_agent/ │ │ │ ├── 06_host_your_agent.csproj │ │ │ └── Program.cs │ │ ├── 02-agents/ │ │ │ ├── AGUI/ │ │ │ │ ├── README.md │ │ │ │ ├── Step01_GettingStarted/ │ │ │ │ │ ├── Client/ │ │ │ │ │ │ ├── Client.csproj │ │ │ │ │ │ └── Program.cs │ │ │ │ │ └── Server/ │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Server.csproj │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── Step02_BackendTools/ │ │ │ │ │ ├── Client/ │ │ │ │ │ │ ├── Client.csproj │ │ │ │ │ │ └── Program.cs │ │ │ │ │ └── Server/ │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Server.csproj │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── Step03_FrontendTools/ │ │ │ │ │ ├── Client/ │ │ │ │ │ │ ├── Client.csproj │ │ │ │ │ │ └── Program.cs │ │ │ │ │ └── Server/ │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Server.csproj │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── Step04_HumanInLoop/ │ │ │ │ │ ├── Client/ │ │ │ │ │ │ ├── Client.csproj │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── ServerFunctionApprovalClientAgent.cs │ │ │ │ │ └── Server/ │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Server.csproj │ │ │ │ │ ├── ServerFunctionApprovalServerAgent.cs │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ └── Step05_StateManagement/ │ │ │ │ ├── Client/ │ │ │ │ │ ├── Client.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── StatefulAgent.cs │ │ │ │ └── Server/ │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── RecipeModels.cs │ │ │ │ ├── Server.csproj │ │ │ │ ├── SharedStateAgent.cs │ │ │ │ ├── appsettings.Development.json │ │ │ │ └── appsettings.json │ │ │ ├── AgentOpenTelemetry/ │ │ │ │ ├── AgentOpenTelemetry.csproj │ │ │ │ ├── Program.cs │ │ │ │ ├── README.md │ │ │ │ └── start-demo.ps1 │ │ │ ├── AgentProviders/ │ │ │ │ ├── Agent_With_A2A/ │ │ │ │ │ ├── Agent_With_A2A.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_Anthropic/ │ │ │ │ │ ├── Agent_With_Anthropic.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_AzureAIAgentsPersistent/ │ │ │ │ │ ├── Agent_With_AzureAIAgentsPersistent.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_AzureAIProject/ │ │ │ │ │ ├── Agent_With_AzureAIProject.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_AzureFoundryModel/ │ │ │ │ │ ├── Agent_With_AzureFoundryModel.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_AzureOpenAIChatCompletion/ │ │ │ │ │ ├── Agent_With_AzureOpenAIChatCompletion.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_AzureOpenAIResponses/ │ │ │ │ │ ├── Agent_With_AzureOpenAIResponses.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_CustomImplementation/ │ │ │ │ │ ├── Agent_With_CustomImplementation.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_GitHubCopilot/ │ │ │ │ │ ├── Agent_With_GitHubCopilot.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_GoogleGemini/ │ │ │ │ │ ├── Agent_With_GoogleGemini.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_ONNX/ │ │ │ │ │ ├── Agent_With_ONNX.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_Ollama/ │ │ │ │ │ ├── Agent_With_Ollama.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_OpenAIAssistants/ │ │ │ │ │ ├── Agent_With_OpenAIAssistants.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_OpenAIChatCompletion/ │ │ │ │ │ ├── Agent_With_OpenAIChatCompletion.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_With_OpenAIResponses/ │ │ │ │ │ ├── Agent_With_OpenAIResponses.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── AgentSkills/ │ │ │ │ ├── Agent_Step01_BasicSkills/ │ │ │ │ │ ├── Agent_Step01_BasicSkills.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ └── skills/ │ │ │ │ │ └── expense-report/ │ │ │ │ │ ├── SKILL.md │ │ │ │ │ ├── assets/ │ │ │ │ │ │ └── expense-report-template.md │ │ │ │ │ └── references/ │ │ │ │ │ └── POLICY_FAQ.md │ │ │ │ └── README.md │ │ │ ├── AgentWithAnthropic/ │ │ │ │ ├── Agent_Anthropic_Step01_Running/ │ │ │ │ │ ├── Agent_Anthropic_Step01_Running.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Anthropic_Step02_Reasoning/ │ │ │ │ │ ├── Agent_Anthropic_Step02_Reasoning.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Anthropic_Step03_UsingFunctionTools/ │ │ │ │ │ ├── Agent_Anthropic_Step03_UsingFunctionTools.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Anthropic_Step04_UsingSkills/ │ │ │ │ │ ├── Agent_Anthropic_Step04_UsingSkills.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── AgentWithMemory/ │ │ │ │ ├── AgentWithMemory_Step01_ChatHistoryMemory/ │ │ │ │ │ ├── AgentWithMemory_Step01_ChatHistoryMemory.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── AgentWithMemory_Step02_MemoryUsingMem0/ │ │ │ │ │ ├── AgentWithMemory_Step02_MemoryUsingMem0.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── AgentWithMemory_Step04_MemoryUsingFoundry/ │ │ │ │ │ ├── AgentWithMemory_Step04_MemoryUsingFoundry.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── AgentWithMemory_Step05_BoundedChatHistory/ │ │ │ │ │ ├── AgentWithMemory_Step05_BoundedChatHistory.csproj │ │ │ │ │ ├── BoundedChatHistoryProvider.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ └── TruncatingChatReducer.cs │ │ │ │ └── README.md │ │ │ ├── AgentWithOpenAI/ │ │ │ │ ├── Agent_OpenAI_Step01_Running/ │ │ │ │ │ ├── Agent_OpenAI_Step01_Running.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_OpenAI_Step02_Reasoning/ │ │ │ │ │ ├── Agent_OpenAI_Step02_Reasoning.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_OpenAI_Step03_CreateFromChatClient/ │ │ │ │ │ ├── Agent_OpenAI_Step03_CreateFromChatClient.csproj │ │ │ │ │ ├── OpenAIChatClientAgent.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_OpenAI_Step04_CreateFromOpenAIResponseClient/ │ │ │ │ │ ├── Agent_OpenAI_Step04_CreateFromOpenAIResponseClient.csproj │ │ │ │ │ ├── OpenAIResponseClientAgent.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_OpenAI_Step05_Conversation/ │ │ │ │ │ ├── Agent_OpenAI_Step05_Conversation.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── AgentWithRAG/ │ │ │ │ ├── AgentWithRAG_Step01_BasicTextRAG/ │ │ │ │ │ ├── AgentWithRAG_Step01_BasicTextRAG.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── TextSearchStore/ │ │ │ │ │ ├── TextSearchDocument.cs │ │ │ │ │ ├── TextSearchStore.cs │ │ │ │ │ ├── TextSearchStoreOptions.cs │ │ │ │ │ └── TextSearchStoreUpsertOptions.cs │ │ │ │ ├── AgentWithRAG_Step02_CustomVectorStoreRAG/ │ │ │ │ │ ├── AgentWithRAG_Step02_CustomVectorStoreRAG.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── AgentWithRAG_Step03_CustomRAGDataSource/ │ │ │ │ │ ├── AgentWithRAG_Step03_CustomRAGDataSource.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── AgentWithRAG_Step04_FoundryServiceRAG/ │ │ │ │ │ ├── AgentWithRAG_Step04_FoundryServiceRAG.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── contoso-outdoors-knowledge-base.md │ │ │ │ └── README.md │ │ │ ├── Agents/ │ │ │ │ ├── Agent_Step01_UsingFunctionToolsWithApprovals/ │ │ │ │ │ ├── Agent_Step01_UsingFunctionToolsWithApprovals.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step02_StructuredOutput/ │ │ │ │ │ ├── AIAgentBuilderExtensions.cs │ │ │ │ │ ├── Agent_Step02_StructuredOutput.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── StructuredOutputAgent.cs │ │ │ │ │ ├── StructuredOutputAgentOptions.cs │ │ │ │ │ └── StructuredOutputAgentResponse.cs │ │ │ │ ├── Agent_Step03_PersistedConversations/ │ │ │ │ │ ├── Agent_Step03_PersistedConversations.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step04_3rdPartyChatHistoryStorage/ │ │ │ │ │ ├── Agent_Step04_3rdPartyChatHistoryStorage.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step05_Observability/ │ │ │ │ │ ├── Agent_Step05_Observability.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step06_DependencyInjection/ │ │ │ │ │ ├── Agent_Step06_DependencyInjection.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step07_AsMcpTool/ │ │ │ │ │ ├── Agent_Step07_AsMcpTool.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step08_UsingImages/ │ │ │ │ │ ├── Agent_Step08_UsingImages.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step09_AsFunctionTool/ │ │ │ │ │ ├── Agent_Step09_AsFunctionTool.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step10_BackgroundResponsesWithToolsAndPersistence/ │ │ │ │ │ ├── Agent_Step10_BackgroundResponsesWithToolsAndPersistence.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step11_Middleware/ │ │ │ │ │ ├── Agent_Step11_Middleware.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step12_Plugins/ │ │ │ │ │ ├── Agent_Step12_Plugins.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step13_ChatReduction/ │ │ │ │ │ ├── Agent_Step13_ChatReduction.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step14_BackgroundResponses/ │ │ │ │ │ ├── Agent_Step14_BackgroundResponses.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step15_DeepResearch/ │ │ │ │ │ ├── Agent_Step15_DeepResearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_Step16_Declarative/ │ │ │ │ │ ├── Agent_Step16_Declarative.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step17_AdditionalAIContext/ │ │ │ │ │ ├── Agent_Step17_AdditionalAIContext.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── Agent_Step18_CompactionPipeline/ │ │ │ │ │ ├── Agent_Step18_CompactionPipeline.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── DeclarativeAgents/ │ │ │ │ └── ChatClient/ │ │ │ │ ├── DeclarativeChatClientAgents.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── Properties/ │ │ │ │ └── launchSettings.json │ │ │ ├── DevUI/ │ │ │ │ ├── DevUI_Step01_BasicUsage/ │ │ │ │ │ ├── DevUI_Step01_BasicUsage.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── FoundryAgents/ │ │ │ │ ├── FoundryAgents_Evaluations_Step01_RedTeaming/ │ │ │ │ │ ├── FoundryAgents_Evaluations_Step01_RedTeaming.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Evaluations_Step02_SelfReflection/ │ │ │ │ │ ├── FoundryAgents_Evaluations_Step02_SelfReflection.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step01.1_Basics/ │ │ │ │ │ ├── FoundryAgents_Step01.1_Basics.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step01.2_Running/ │ │ │ │ │ ├── FoundryAgents_Step01.2_Running.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step02_MultiturnConversation/ │ │ │ │ │ ├── FoundryAgents_Step02_MultiturnConversation.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step03_UsingFunctionTools/ │ │ │ │ │ ├── FoundryAgents_Step03_UsingFunctionTools.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step04_UsingFunctionToolsWithApprovals/ │ │ │ │ │ ├── FoundryAgents_Step04_UsingFunctionToolsWithApprovals.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step05_StructuredOutput/ │ │ │ │ │ ├── FoundryAgents_Step05_StructuredOutput.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step06_PersistedConversations/ │ │ │ │ │ ├── FoundryAgents_Step06_PersistedConversations.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step07_Observability/ │ │ │ │ │ ├── FoundryAgents_Step07_Observability.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step08_DependencyInjection/ │ │ │ │ │ ├── FoundryAgents_Step08_DependencyInjection.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step09_UsingMcpClientAsTools/ │ │ │ │ │ ├── FoundryAgents_Step09_UsingMcpClientAsTools.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step10_UsingImages/ │ │ │ │ │ ├── FoundryAgents_Step10_UsingImages.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step11_AsFunctionTool/ │ │ │ │ │ ├── FoundryAgents_Step11_AsFunctionTool.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step12_Middleware/ │ │ │ │ │ ├── FoundryAgents_Step12_Middleware.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step13_Plugins/ │ │ │ │ │ ├── FoundryAgents_Step13_Plugins.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step14_CodeInterpreter/ │ │ │ │ │ ├── FoundryAgents_Step14_CodeInterpreter.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step15_ComputerUse/ │ │ │ │ │ ├── ComputerUseUtil.cs │ │ │ │ │ ├── FoundryAgents_Step15_ComputerUse.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step16_FileSearch/ │ │ │ │ │ ├── FoundryAgents_Step16_FileSearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step17_OpenAPITools/ │ │ │ │ │ ├── FoundryAgents_Step17_OpenAPITools.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step18_BingCustomSearch/ │ │ │ │ │ ├── FoundryAgents_Step18_BingCustomSearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step19_SharePoint/ │ │ │ │ │ ├── FoundryAgents_Step19_SharePoint.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step20_MicrosoftFabric/ │ │ │ │ │ ├── FoundryAgents_Step20_MicrosoftFabric.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step21_WebSearch/ │ │ │ │ │ ├── FoundryAgents_Step21_WebSearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step22_MemorySearch/ │ │ │ │ │ ├── FoundryAgents_Step22_MemorySearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgents_Step23_LocalMCP/ │ │ │ │ │ ├── FoundryAgents_Step23_LocalMCP.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── ModelContextProtocol/ │ │ │ │ ├── Agent_MCP_Server/ │ │ │ │ │ ├── Agent_MCP_Server.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── Agent_MCP_Server_Auth/ │ │ │ │ │ ├── Agent_MCP_Server_Auth.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── FoundryAgent_Hosted_MCP/ │ │ │ │ │ ├── FoundryAgent_Hosted_MCP.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── README.md │ │ │ │ └── ResponseAgent_Hosted_MCP/ │ │ │ │ ├── Program.cs │ │ │ │ ├── README.md │ │ │ │ └── ResponseAgent_Hosted_MCP.csproj │ │ │ └── README.md │ │ ├── 03-workflows/ │ │ │ ├── Agents/ │ │ │ │ ├── CustomAgentExecutors/ │ │ │ │ │ ├── CustomAgentExecutors.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── FoundryAgent/ │ │ │ │ │ ├── FoundryAgent.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── GroupChatToolApproval/ │ │ │ │ │ ├── DeploymentGroupChatManager.cs │ │ │ │ │ ├── GroupChatToolApproval.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── WorkflowAsAnAgent/ │ │ │ │ ├── Program.cs │ │ │ │ ├── WorkflowAsAnAgent.csproj │ │ │ │ └── WorkflowFactory.cs │ │ │ ├── Checkpoint/ │ │ │ │ ├── CheckpointAndRehydrate/ │ │ │ │ │ ├── CheckpointAndRehydrate.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── WorkflowFactory.cs │ │ │ │ ├── CheckpointAndResume/ │ │ │ │ │ ├── CheckpointAndResume.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── WorkflowFactory.cs │ │ │ │ └── CheckpointWithHumanInTheLoop/ │ │ │ │ ├── CheckpointWithHumanInTheLoop.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── WorkflowFactory.cs │ │ │ ├── Concurrent/ │ │ │ │ ├── Concurrent/ │ │ │ │ │ ├── Concurrent.csproj │ │ │ │ │ └── Program.cs │ │ │ │ └── MapReduce/ │ │ │ │ ├── MapReduce.csproj │ │ │ │ └── Program.cs │ │ │ ├── ConditionalEdges/ │ │ │ │ ├── 01_EdgeCondition/ │ │ │ │ │ ├── 01_EdgeCondition.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Resources.cs │ │ │ │ ├── 02_SwitchCase/ │ │ │ │ │ ├── 02_SwitchCase.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Resources.cs │ │ │ │ └── 03_MultiSelection/ │ │ │ │ ├── 03_MultiSelection.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── Resources.cs │ │ │ ├── Declarative/ │ │ │ │ ├── ConfirmInput/ │ │ │ │ │ ├── ConfirmInput.csproj │ │ │ │ │ ├── ConfirmInput.yaml │ │ │ │ │ └── Program.cs │ │ │ │ ├── CustomerSupport/ │ │ │ │ │ ├── CustomerSupport.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ └── TicketingPlugin.cs │ │ │ │ ├── DeepResearch/ │ │ │ │ │ ├── DeepResearch.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ └── wttr.json │ │ │ │ ├── ExecuteCode/ │ │ │ │ │ ├── ExecuteCode.csproj │ │ │ │ │ ├── Generated.cs │ │ │ │ │ └── Program.cs │ │ │ │ ├── ExecuteWorkflow/ │ │ │ │ │ ├── ExecuteWorkflow.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── FunctionTools/ │ │ │ │ │ ├── FunctionTools.csproj │ │ │ │ │ ├── FunctionTools.yaml │ │ │ │ │ ├── MenuPlugin.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── GenerateCode/ │ │ │ │ │ ├── GenerateCode.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── HostedWorkflow/ │ │ │ │ │ ├── HostedWorkflow.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── InputArguments/ │ │ │ │ │ ├── InputArguments.csproj │ │ │ │ │ ├── InputArguments.yaml │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── InvokeFunctionTool/ │ │ │ │ │ ├── InvokeFunctionTool.csproj │ │ │ │ │ ├── InvokeFunctionTool.yaml │ │ │ │ │ ├── MenuPlugin.cs │ │ │ │ │ └── Program.cs │ │ │ │ ├── InvokeMcpTool/ │ │ │ │ │ ├── InvokeMcpTool.csproj │ │ │ │ │ ├── InvokeMcpTool.yaml │ │ │ │ │ └── Program.cs │ │ │ │ ├── Marketing/ │ │ │ │ │ ├── Marketing.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── OpenAIChatAgent/ │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── OpenAIResponseAgent/ │ │ │ │ │ └── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── README.md │ │ │ │ ├── StudentTeacher/ │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ └── StudentTeacher.csproj │ │ │ │ └── ToolApproval/ │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── ToolApproval.csproj │ │ │ │ └── ToolApproval.yaml │ │ │ ├── HumanInTheLoop/ │ │ │ │ └── HumanInTheLoopBasic/ │ │ │ │ ├── HumanInTheLoopBasic.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── WorkflowFactory.cs │ │ │ ├── Loop/ │ │ │ │ ├── Loop.csproj │ │ │ │ └── Program.cs │ │ │ ├── Observability/ │ │ │ │ ├── ApplicationInsights/ │ │ │ │ │ ├── ApplicationInsights.csproj │ │ │ │ │ └── Program.cs │ │ │ │ ├── AspireDashboard/ │ │ │ │ │ ├── AspireDashboard.csproj │ │ │ │ │ └── Program.cs │ │ │ │ └── WorkflowAsAnAgent/ │ │ │ │ ├── Program.cs │ │ │ │ ├── WorkflowAsAnAgentObservability.csproj │ │ │ │ └── WorkflowHelper.cs │ │ │ ├── README.md │ │ │ ├── Resources/ │ │ │ │ ├── Lorem_Ipsum.txt │ │ │ │ ├── ambiguous_email.txt │ │ │ │ ├── email.txt │ │ │ │ └── spam.txt │ │ │ ├── SharedStates/ │ │ │ │ ├── Program.cs │ │ │ │ ├── Resources.cs │ │ │ │ └── SharedStates.csproj │ │ │ ├── Visualization/ │ │ │ │ ├── Program.cs │ │ │ │ ├── README.md │ │ │ │ └── Visualization.csproj │ │ │ └── _StartHere/ │ │ │ ├── 01_Streaming/ │ │ │ │ ├── 01_Streaming.csproj │ │ │ │ └── Program.cs │ │ │ ├── 02_AgentsInWorkflows/ │ │ │ │ ├── 02_AgentsInWorkflows.csproj │ │ │ │ └── Program.cs │ │ │ ├── 03_AgentWorkflowPatterns/ │ │ │ │ ├── 03_AgentWorkflowPatterns.csproj │ │ │ │ └── Program.cs │ │ │ ├── 04_MultiModelService/ │ │ │ │ ├── 04_MultiModelService.csproj │ │ │ │ └── Program.cs │ │ │ ├── 05_SubWorkflows/ │ │ │ │ ├── 05_SubWorkflows.csproj │ │ │ │ └── Program.cs │ │ │ ├── 06_MixedWorkflowAgentsAndExecutors/ │ │ │ │ ├── 06_MixedWorkflowAgentsAndExecutors.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── README.md │ │ │ └── 07_WriterCriticWorkflow/ │ │ │ ├── 07_WriterCriticWorkflow.csproj │ │ │ └── Program.cs │ │ ├── 04-hosting/ │ │ │ ├── A2A/ │ │ │ │ ├── A2AAgent_AsFunctionTools/ │ │ │ │ │ ├── A2AAgent_AsFunctionTools.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── A2AAgent_PollingForTaskCompletion/ │ │ │ │ │ ├── A2AAgent_PollingForTaskCompletion.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── README.md │ │ │ ├── DurableAgents/ │ │ │ │ ├── AzureFunctions/ │ │ │ │ │ ├── .editorconfig │ │ │ │ │ ├── 01_SingleAgent/ │ │ │ │ │ │ ├── 01_SingleAgent.csproj │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 02_AgentOrchestration_Chaining/ │ │ │ │ │ │ ├── 02_AgentOrchestration_Chaining.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 03_AgentOrchestration_Concurrency/ │ │ │ │ │ │ ├── 03_AgentOrchestration_Concurrency.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 04_AgentOrchestration_Conditionals/ │ │ │ │ │ │ ├── 04_AgentOrchestration_Conditionals.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 05_AgentOrchestration_HITL/ │ │ │ │ │ │ ├── 05_AgentOrchestration_HITL.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 06_LongRunningTools/ │ │ │ │ │ │ ├── 06_LongRunningTools.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── Tools.cs │ │ │ │ │ │ ├── demo.http │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 07_AgentAsMcpTool/ │ │ │ │ │ │ ├── 07_AgentAsMcpTool.csproj │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── host.json │ │ │ │ │ ├── 08_ReliableStreaming/ │ │ │ │ │ │ ├── 08_ReliableStreaming.csproj │ │ │ │ │ │ ├── FunctionTriggers.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── RedisStreamResponseHandler.cs │ │ │ │ │ │ ├── Tools.cs │ │ │ │ │ │ └── host.json │ │ │ │ │ └── README.md │ │ │ │ ├── ConsoleApps/ │ │ │ │ │ ├── 01_SingleAgent/ │ │ │ │ │ │ ├── 01_SingleAgent.csproj │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 02_AgentOrchestration_Chaining/ │ │ │ │ │ │ ├── 02_AgentOrchestration_Chaining.csproj │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 03_AgentOrchestration_Concurrency/ │ │ │ │ │ │ ├── 03_AgentOrchestration_Concurrency.csproj │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 04_AgentOrchestration_Conditionals/ │ │ │ │ │ │ ├── 04_AgentOrchestration_Conditionals.csproj │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 05_AgentOrchestration_HITL/ │ │ │ │ │ │ ├── 05_AgentOrchestration_HITL.csproj │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 06_LongRunningTools/ │ │ │ │ │ │ ├── 06_LongRunningTools.csproj │ │ │ │ │ │ ├── Models.cs │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── 07_ReliableStreaming/ │ │ │ │ │ │ ├── 07_ReliableStreaming.csproj │ │ │ │ │ │ ├── Program.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── RedisStreamResponseHandler.cs │ │ │ │ │ └── README.md │ │ │ │ └── Directory.Build.props │ │ │ └── DurableWorkflows/ │ │ │ ├── AzureFunctions/ │ │ │ │ ├── 01_SequentialWorkflow/ │ │ │ │ │ ├── 01_SequentialWorkflow.csproj │ │ │ │ │ ├── OrderCancelExecutors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ └── host.json │ │ │ │ ├── 02_ConcurrentWorkflow/ │ │ │ │ │ ├── 02_ConcurrentWorkflow.csproj │ │ │ │ │ ├── ExpertExecutors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ └── host.json │ │ │ │ └── 03_WorkflowHITL/ │ │ │ │ ├── 03_WorkflowHITL.csproj │ │ │ │ ├── Executors.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── README.md │ │ │ │ ├── demo.http │ │ │ │ └── host.json │ │ │ ├── ConsoleApps/ │ │ │ │ ├── 01_SequentialWorkflow/ │ │ │ │ │ ├── 01_SequentialWorkflow.csproj │ │ │ │ │ ├── OrderCancelExecutors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── 02_ConcurrentWorkflow/ │ │ │ │ │ ├── 02_ConcurrentWorkflow.csproj │ │ │ │ │ ├── ExpertExecutors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── 03_ConditionalEdges/ │ │ │ │ │ ├── 03_ConditionalEdges.csproj │ │ │ │ │ ├── NotifyFraud.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── 04_WorkflowAndAgents/ │ │ │ │ │ ├── 04_WorkflowAndAgents.csproj │ │ │ │ │ ├── ParseQuestionExecutor.cs │ │ │ │ │ └── Program.cs │ │ │ │ ├── 05_WorkflowEvents/ │ │ │ │ │ ├── 05_WorkflowEvents.csproj │ │ │ │ │ ├── Executors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── 06_WorkflowSharedState/ │ │ │ │ │ ├── 06_WorkflowSharedState.csproj │ │ │ │ │ ├── Executors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── 07_SubWorkflows/ │ │ │ │ │ ├── 07_SubWorkflows.csproj │ │ │ │ │ ├── Executors.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ └── 08_WorkflowHITL/ │ │ │ │ ├── 08_WorkflowHITL.csproj │ │ │ │ ├── Executors.cs │ │ │ │ ├── Program.cs │ │ │ │ └── README.md │ │ │ ├── Directory.Build.props │ │ │ └── README.md │ │ ├── 05-end-to-end/ │ │ │ ├── A2AClientServer/ │ │ │ │ ├── A2AClient/ │ │ │ │ │ ├── A2AClient.csproj │ │ │ │ │ ├── HostClientAgent.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── README.md │ │ │ │ ├── A2AServer/ │ │ │ │ │ ├── A2AServer.csproj │ │ │ │ │ ├── A2AServer.http │ │ │ │ │ ├── HostAgentFactory.cs │ │ │ │ │ ├── Models/ │ │ │ │ │ │ └── InvoiceQuery.cs │ │ │ │ │ └── Program.cs │ │ │ │ └── README.md │ │ │ ├── AGUIClientServer/ │ │ │ │ ├── AGUIClient/ │ │ │ │ │ ├── AGUIClient.csproj │ │ │ │ │ ├── AGUIClientSerializerContext.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── SensorRequest.cs │ │ │ │ │ └── SensorResponse.cs │ │ │ │ ├── AGUIDojoServer/ │ │ │ │ │ ├── AGUIDojoServer.csproj │ │ │ │ │ ├── AGUIDojoServerSerializerContext.cs │ │ │ │ │ ├── AgenticUI/ │ │ │ │ │ │ ├── AgenticPlanningTools.cs │ │ │ │ │ │ ├── AgenticUIAgent.cs │ │ │ │ │ │ ├── JsonPatchOperation.cs │ │ │ │ │ │ ├── Plan.cs │ │ │ │ │ │ ├── Step.cs │ │ │ │ │ │ └── StepStatus.cs │ │ │ │ │ ├── BackendToolRendering/ │ │ │ │ │ │ └── WeatherInfo.cs │ │ │ │ │ ├── ChatClientAgentFactory.cs │ │ │ │ │ ├── PredictiveStateUpdates/ │ │ │ │ │ │ ├── DocumentState.cs │ │ │ │ │ │ └── PredictiveStateUpdatesAgent.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── SharedState/ │ │ │ │ │ │ ├── Ingredient.cs │ │ │ │ │ │ ├── Recipe.cs │ │ │ │ │ │ ├── RecipeResponse.cs │ │ │ │ │ │ └── SharedStateAgent.cs │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── AGUIServer/ │ │ │ │ │ ├── AGUIServer.csproj │ │ │ │ │ ├── AGUIServer.http │ │ │ │ │ ├── AGUIServerSerializerContext.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── ServerWeatherForecastRequest.cs │ │ │ │ │ └── ServerWeatherForecastResponse.cs │ │ │ │ └── README.md │ │ │ ├── AGUIWebChat/ │ │ │ │ ├── Client/ │ │ │ │ │ ├── AGUIWebChatClient.csproj │ │ │ │ │ ├── Components/ │ │ │ │ │ │ ├── App.razor │ │ │ │ │ │ ├── Layout/ │ │ │ │ │ │ │ ├── LoadingSpinner.razor │ │ │ │ │ │ │ ├── LoadingSpinner.razor.css │ │ │ │ │ │ │ ├── MainLayout.razor │ │ │ │ │ │ │ └── MainLayout.razor.css │ │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ │ └── Chat/ │ │ │ │ │ │ │ ├── Chat.razor │ │ │ │ │ │ │ ├── Chat.razor.css │ │ │ │ │ │ │ ├── ChatCitation.razor │ │ │ │ │ │ │ ├── ChatCitation.razor.css │ │ │ │ │ │ │ ├── ChatHeader.razor │ │ │ │ │ │ │ ├── ChatHeader.razor.css │ │ │ │ │ │ │ ├── ChatInput.razor │ │ │ │ │ │ │ ├── ChatInput.razor.css │ │ │ │ │ │ │ ├── ChatInput.razor.js │ │ │ │ │ │ │ ├── ChatMessageItem.razor │ │ │ │ │ │ │ ├── ChatMessageItem.razor.css │ │ │ │ │ │ │ ├── ChatMessageList.razor │ │ │ │ │ │ │ ├── ChatMessageList.razor.css │ │ │ │ │ │ │ ├── ChatMessageList.razor.js │ │ │ │ │ │ │ ├── ChatSuggestions.razor │ │ │ │ │ │ │ └── ChatSuggestions.razor.css │ │ │ │ │ │ ├── Routes.razor │ │ │ │ │ │ └── _Imports.razor │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ └── wwwroot/ │ │ │ │ │ └── app.css │ │ │ │ ├── README.md │ │ │ │ └── Server/ │ │ │ │ ├── AGUIWebChatServer.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── Properties/ │ │ │ │ └── launchSettings.json │ │ │ ├── AgentWebChat/ │ │ │ │ ├── AgentWebChat.AgentHost/ │ │ │ │ │ ├── ActorFrameworkWebApplicationExtensions.cs │ │ │ │ │ ├── AgentWebChat.AgentHost.csproj │ │ │ │ │ ├── Custom/ │ │ │ │ │ │ └── CustomAITools.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Utilities/ │ │ │ │ │ │ ├── ChatClientConnectionInfo.cs │ │ │ │ │ │ └── ChatClientExtensions.cs │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── AgentWebChat.AppHost/ │ │ │ │ │ ├── AgentWebChat.AppHost.csproj │ │ │ │ │ ├── ModelExtensions.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── appsettings.json │ │ │ │ ├── AgentWebChat.ServiceDefaults/ │ │ │ │ │ ├── AgentWebChat.ServiceDefaults.csproj │ │ │ │ │ └── ServiceDefaultsExtensions.cs │ │ │ │ └── AgentWebChat.Web/ │ │ │ │ ├── A2AAgentClient.cs │ │ │ │ ├── AgentDiscoveryClient.cs │ │ │ │ ├── AgentWebChat.Web.csproj │ │ │ │ ├── Components/ │ │ │ │ │ ├── App.razor │ │ │ │ │ ├── Layout/ │ │ │ │ │ │ ├── MainLayout.razor │ │ │ │ │ │ └── MainLayout.razor.css │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── Error.razor │ │ │ │ │ │ └── Home.razor │ │ │ │ │ ├── Routes.razor │ │ │ │ │ └── _Imports.razor │ │ │ │ ├── IAgentClient.cs │ │ │ │ ├── OpenAIChatCompletionsAgentClient.cs │ │ │ │ ├── OpenAIResponsesAgentClient.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── appsettings.Development.json │ │ │ │ ├── appsettings.json │ │ │ │ └── wwwroot/ │ │ │ │ └── app.css │ │ │ ├── AgentWithPurview/ │ │ │ │ ├── AgentWithPurview.csproj │ │ │ │ └── Program.cs │ │ │ ├── AspNetAgentAuthorization/ │ │ │ │ ├── README.md │ │ │ │ ├── RazorWebClient/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── Chat.cshtml │ │ │ │ │ │ ├── Chat.cshtml.cs │ │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ │ ├── Index.cshtml.cs │ │ │ │ │ │ ├── Shared/ │ │ │ │ │ │ │ └── _Layout.cshtml │ │ │ │ │ │ └── _ViewImports.cshtml │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── RazorWebClient.csproj │ │ │ │ │ └── appsettings.json │ │ │ │ ├── Service/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── ExpenseService.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── Service.csproj │ │ │ │ │ ├── UserContext.cs │ │ │ │ │ └── appsettings.json │ │ │ │ ├── docker-compose.yml │ │ │ │ └── keycloak/ │ │ │ │ ├── dev-realm.json │ │ │ │ └── setup-redirect-uris.sh │ │ │ ├── HostedAgents/ │ │ │ │ ├── AgentThreadAndHITL/ │ │ │ │ │ ├── AgentThreadAndHITL.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── AgentWithHostedMCP/ │ │ │ │ │ ├── AgentWithHostedMCP.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── AgentWithLocalTools/ │ │ │ │ │ ├── .dockerignore │ │ │ │ │ ├── AgentWithLocalTools.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── AgentWithTextSearchRag/ │ │ │ │ │ ├── AgentWithTextSearchRag.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── AgentWithTools/ │ │ │ │ │ ├── AgentWithTools.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── AgentsInWorkflows/ │ │ │ │ │ ├── AgentsInWorkflows.csproj │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ ├── FoundryMultiAgent/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── FoundryMultiAgent.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ ├── appsettings.Development.json │ │ │ │ │ └── run-requests.http │ │ │ │ ├── FoundrySingleAgent/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── FoundrySingleAgent.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ └── run-requests.http │ │ │ │ └── README.md │ │ │ └── M365Agent/ │ │ │ ├── AFAgentApplication.cs │ │ │ ├── Agents/ │ │ │ │ ├── AdaptiveCardAIContent.cs │ │ │ │ ├── WeatherForecastAgent.cs │ │ │ │ ├── WeatherForecastAgentResponse.cs │ │ │ │ └── WeatherForecastAgentResponseContentType.cs │ │ │ ├── Auth/ │ │ │ │ ├── AspNetExtensions.cs │ │ │ │ └── TokenValidationOptions.cs │ │ │ ├── JsonUtilities.cs │ │ │ ├── M365Agent.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── launchSettings.json │ │ │ ├── README.md │ │ │ ├── appManifest/ │ │ │ │ └── manifest.json │ │ │ └── appsettings.json.template │ │ ├── AGENTS.md │ │ ├── Directory.Build.props │ │ └── README.md │ ├── src/ │ │ ├── Directory.Build.props │ │ ├── LegacySupport/ │ │ │ ├── CallerAttributes/ │ │ │ │ ├── CallerArgumentExpressionAttribute.cs │ │ │ │ └── README.md │ │ │ ├── CompilerFeatureRequiredAttribute/ │ │ │ │ ├── CompilerFeatureRequiredAttribute.cs │ │ │ │ └── README.md │ │ │ ├── DiagnosticAttributes/ │ │ │ │ ├── NullableAttributes.cs │ │ │ │ └── README.md │ │ │ ├── DiagnosticClasses/ │ │ │ │ ├── README.md │ │ │ │ └── UnreachableException.cs │ │ │ ├── ExperimentalAttribute/ │ │ │ │ ├── ExperimentalAttribute.cs │ │ │ │ └── README.md │ │ │ ├── IsExternalInit/ │ │ │ │ ├── IsExternalInit.cs │ │ │ │ └── README.md │ │ │ ├── README.md │ │ │ ├── RequiredMemberAttribute/ │ │ │ │ ├── README.md │ │ │ │ └── RequiredMemberAttribute.cs │ │ │ └── TrimAttributes/ │ │ │ ├── DynamicallyAccessedMemberTypes.cs │ │ │ ├── DynamicallyAccessedMembersAttribute.cs │ │ │ ├── README.md │ │ │ ├── RequiresDynamicCodeAttribute.cs │ │ │ ├── RequiresUnreferencedCodeAttribute.cs │ │ │ └── UnconditionalSuppressMessageAttribute.cs │ │ ├── Microsoft.Agents.AI/ │ │ │ ├── AIAgentBuilder.cs │ │ │ ├── AIContextProviderDecorators/ │ │ │ │ ├── AIContextProviderChatClient.cs │ │ │ │ ├── AIContextProviderChatClientBuilderExtensions.cs │ │ │ │ └── MessageAIContextProviderAgent.cs │ │ │ ├── AgentExtensions.cs │ │ │ ├── AgentJsonUtilities.cs │ │ │ ├── AnonymousDelegatingAIAgent.cs │ │ │ ├── ChatClient/ │ │ │ │ ├── ChatClientAgent.cs │ │ │ │ ├── ChatClientAgentContinuationToken.cs │ │ │ │ ├── ChatClientAgentCustomOptions.cs │ │ │ │ ├── ChatClientAgentLogMessages.cs │ │ │ │ ├── ChatClientAgentOptions.cs │ │ │ │ ├── ChatClientAgentRunOptions.cs │ │ │ │ ├── ChatClientAgentSession.cs │ │ │ │ ├── ChatClientBuilderExtensions.cs │ │ │ │ └── ChatClientExtensions.cs │ │ │ ├── Compaction/ │ │ │ │ ├── ChatMessageContentEquality.cs │ │ │ │ ├── ChatReducerCompactionStrategy.cs │ │ │ │ ├── ChatStrategyExtensions.cs │ │ │ │ ├── CompactionGroupKind.cs │ │ │ │ ├── CompactionLogMessages.cs │ │ │ │ ├── CompactionMessageGroup.cs │ │ │ │ ├── CompactionMessageIndex.cs │ │ │ │ ├── CompactionProvider.cs │ │ │ │ ├── CompactionStrategy.cs │ │ │ │ ├── CompactionTelemetry.cs │ │ │ │ ├── CompactionTrigger.cs │ │ │ │ ├── CompactionTriggers.cs │ │ │ │ ├── PipelineCompactionStrategy.cs │ │ │ │ ├── SlidingWindowCompactionStrategy.cs │ │ │ │ ├── SummarizationCompactionStrategy.cs │ │ │ │ ├── ToolResultCompactionStrategy.cs │ │ │ │ └── TruncationCompactionStrategy.cs │ │ │ ├── FunctionInvocationDelegatingAgent.cs │ │ │ ├── FunctionInvocationDelegatingAgentBuilderExtensions.cs │ │ │ ├── LoggingAgent.cs │ │ │ ├── LoggingAgentBuilderExtensions.cs │ │ │ ├── Memory/ │ │ │ │ ├── ChatHistoryMemoryProvider.cs │ │ │ │ ├── ChatHistoryMemoryProviderOptions.cs │ │ │ │ └── ChatHistoryMemoryProviderScope.cs │ │ │ ├── Microsoft.Agents.AI.csproj │ │ │ ├── OpenTelemetryAgent.cs │ │ │ ├── OpenTelemetryAgentBuilderExtensions.cs │ │ │ ├── OpenTelemetryConsts.cs │ │ │ ├── Skills/ │ │ │ │ ├── FileAgentSkill.cs │ │ │ │ ├── FileAgentSkillLoader.cs │ │ │ │ ├── FileAgentSkillsProvider.cs │ │ │ │ ├── FileAgentSkillsProviderOptions.cs │ │ │ │ └── SkillFrontmatter.cs │ │ │ ├── TextSearchProvider.cs │ │ │ └── TextSearchProviderOptions.cs │ │ ├── Microsoft.Agents.AI.A2A/ │ │ │ ├── A2AAgent.cs │ │ │ ├── A2AAgentLogMessages.cs │ │ │ ├── A2AAgentSession.cs │ │ │ ├── A2AContinuationToken.cs │ │ │ ├── A2AJsonUtilities.cs │ │ │ ├── Extensions/ │ │ │ │ ├── A2AAIContentExtensions.cs │ │ │ │ ├── A2AAgentCardExtensions.cs │ │ │ │ ├── A2AAgentTaskExtensions.cs │ │ │ │ ├── A2AArtifactExtensions.cs │ │ │ │ ├── A2ACardResolverExtensions.cs │ │ │ │ ├── A2AClientExtensions.cs │ │ │ │ └── ChatMessageExtensions.cs │ │ │ └── Microsoft.Agents.AI.A2A.csproj │ │ ├── Microsoft.Agents.AI.AGUI/ │ │ │ ├── AGUIChatClient.cs │ │ │ ├── AGUIHttpService.cs │ │ │ ├── Microsoft.Agents.AI.AGUI.csproj │ │ │ └── Shared/ │ │ │ ├── AGUIAssistantMessage.cs │ │ │ ├── AGUIChatMessageExtensions.cs │ │ │ ├── AGUIContextItem.cs │ │ │ ├── AGUIDeveloperMessage.cs │ │ │ ├── AGUIEventTypes.cs │ │ │ ├── AGUIFunctionCall.cs │ │ │ ├── AGUIJsonSerializerContext.cs │ │ │ ├── AGUIMessage.cs │ │ │ ├── AGUIMessageJsonConverter.cs │ │ │ ├── AGUIRoles.cs │ │ │ ├── AGUISystemMessage.cs │ │ │ ├── AGUITool.cs │ │ │ ├── AGUIToolCall.cs │ │ │ ├── AGUIToolMessage.cs │ │ │ ├── AGUIUserMessage.cs │ │ │ ├── AIToolExtensions.cs │ │ │ ├── BaseEvent.cs │ │ │ ├── BaseEventJsonConverter.cs │ │ │ ├── ChatResponseUpdateAGUIExtensions.cs │ │ │ ├── RunAgentInput.cs │ │ │ ├── RunErrorEvent.cs │ │ │ ├── RunFinishedEvent.cs │ │ │ ├── RunStartedEvent.cs │ │ │ ├── StateDeltaEvent.cs │ │ │ ├── StateSnapshotEvent.cs │ │ │ ├── TextMessageContentEvent.cs │ │ │ ├── TextMessageEndEvent.cs │ │ │ ├── TextMessageStartEvent.cs │ │ │ ├── ToolCallArgsEvent.cs │ │ │ ├── ToolCallEndEvent.cs │ │ │ ├── ToolCallResultEvent.cs │ │ │ └── ToolCallStartEvent.cs │ │ ├── Microsoft.Agents.AI.Abstractions/ │ │ │ ├── AIAgent.cs │ │ │ ├── AIAgentMetadata.cs │ │ │ ├── AIAgentStructuredOutput.cs │ │ │ ├── AIContentExtensions.cs │ │ │ ├── AIContext.cs │ │ │ ├── AIContextProvider.cs │ │ │ ├── AdditionalPropertiesExtensions.cs │ │ │ ├── AgentAbstractionsJsonUtilities.cs │ │ │ ├── AgentRequestMessageSourceAttribution.cs │ │ │ ├── AgentRequestMessageSourceType.cs │ │ │ ├── AgentResponse.cs │ │ │ ├── AgentResponseExtensions.cs │ │ │ ├── AgentResponseUpdate.cs │ │ │ ├── AgentResponse{T}.cs │ │ │ ├── AgentRunContext.cs │ │ │ ├── AgentRunOptions.cs │ │ │ ├── AgentSession.cs │ │ │ ├── AgentSessionExtensions.cs │ │ │ ├── AgentSessionStateBag.cs │ │ │ ├── AgentSessionStateBagJsonConverter.cs │ │ │ ├── AgentSessionStateBagValue.cs │ │ │ ├── AgentSessionStateBagValueJsonConverter.cs │ │ │ ├── ChatHistoryProvider.cs │ │ │ ├── ChatMessageExtensions.cs │ │ │ ├── DelegatingAIAgent.cs │ │ │ ├── InMemoryChatHistoryProvider.cs │ │ │ ├── InMemoryChatHistoryProviderOptions.cs │ │ │ ├── MessageAIContextProvider.cs │ │ │ ├── Microsoft.Agents.AI.Abstractions.csproj │ │ │ └── ProviderSessionState{TState}.cs │ │ ├── Microsoft.Agents.AI.Anthropic/ │ │ │ ├── AnthropicBetaServiceExtensions.cs │ │ │ ├── AnthropicClientExtensions.cs │ │ │ ├── AnthropicClientJsonContext.cs │ │ │ └── Microsoft.Agents.AI.Anthropic.csproj │ │ ├── Microsoft.Agents.AI.AzureAI/ │ │ │ ├── AzureAIProjectChatClient.cs │ │ │ ├── AzureAIProjectChatClientExtensions.cs │ │ │ ├── Microsoft.Agents.AI.AzureAI.csproj │ │ │ └── RequestOptionsExtensions.cs │ │ ├── Microsoft.Agents.AI.AzureAI.Persistent/ │ │ │ ├── Microsoft.Agents.AI.AzureAI.Persistent.csproj │ │ │ ├── PersistentAgentsClientExtensions.cs │ │ │ └── README.md │ │ ├── Microsoft.Agents.AI.CopilotStudio/ │ │ │ ├── ActivityProcessor.cs │ │ │ ├── CopilotStudioAgent.cs │ │ │ ├── CopilotStudioAgentSession.cs │ │ │ ├── CopilotStudioJsonUtilities.cs │ │ │ └── Microsoft.Agents.AI.CopilotStudio.csproj │ │ ├── Microsoft.Agents.AI.CosmosNoSql/ │ │ │ ├── CosmosChatHistoryProvider.cs │ │ │ ├── CosmosCheckpointStore.cs │ │ │ ├── CosmosDBChatExtensions.cs │ │ │ ├── CosmosDBWorkflowExtensions.cs │ │ │ └── Microsoft.Agents.AI.CosmosNoSql.csproj │ │ ├── Microsoft.Agents.AI.Declarative/ │ │ │ ├── AgentBotElementYaml.cs │ │ │ ├── AggregatorPromptAgentFactory.cs │ │ │ ├── ChatClient/ │ │ │ │ └── ChatClientPromptAgentFactory.cs │ │ │ ├── Extensions/ │ │ │ │ ├── BoolExpressionExtensions.cs │ │ │ │ ├── CodeInterpreterToolExtensions.cs │ │ │ │ ├── FileSearchToolExtensions.cs │ │ │ │ ├── FunctionToolExtensions.cs │ │ │ │ ├── IntExpressionExtensions.cs │ │ │ │ ├── McpServerToolApprovalModeExtensions.cs │ │ │ │ ├── McpServerToolExtensions.cs │ │ │ │ ├── ModelOptionsExtensions.cs │ │ │ │ ├── NumberExpressionExtensions.cs │ │ │ │ ├── PromptAgentExtensions.cs │ │ │ │ ├── PropertyInfoExtensions.cs │ │ │ │ ├── RecordDataTypeExtensions.cs │ │ │ │ ├── RecordDataValueExtensions.cs │ │ │ │ ├── StringExpressionExtensions.cs │ │ │ │ ├── WebSearchToolExtensions.cs │ │ │ │ └── YamlAgentFactoryExtensions.cs │ │ │ ├── Microsoft.Agents.AI.Declarative.csproj │ │ │ └── PromptAgentFactory.cs │ │ ├── Microsoft.Agents.AI.DevUI/ │ │ │ ├── DevUIExtensions.cs │ │ │ ├── DevUIMiddleware.cs │ │ │ ├── Entities/ │ │ │ │ ├── EntitiesJsonContext.cs │ │ │ │ ├── EntityInfo.cs │ │ │ │ ├── MetaResponse.cs │ │ │ │ └── WorkflowSerializationExtensions.cs │ │ │ ├── EntitiesApiExtensions.cs │ │ │ ├── HostApplicationBuilderExtensions.cs │ │ │ ├── MetaApiExtensions.cs │ │ │ ├── Microsoft.Agents.AI.DevUI.Frontend.targets │ │ │ ├── Microsoft.Agents.AI.DevUI.csproj │ │ │ ├── Properties/ │ │ │ │ └── launchSettings.json │ │ │ ├── README.md │ │ │ ├── ServiceCollectionsExtensions.cs │ │ │ └── wwwroot/ │ │ │ └── index.html │ │ ├── Microsoft.Agents.AI.DurableTask/ │ │ │ ├── AIAgentExtensions.cs │ │ │ ├── AgentEntity.cs │ │ │ ├── AgentNotRegisteredException.cs │ │ │ ├── AgentRunHandle.cs │ │ │ ├── AgentSessionId.cs │ │ │ ├── CHANGELOG.md │ │ │ ├── DefaultDurableAgentClient.cs │ │ │ ├── DurableAIAgent.cs │ │ │ ├── DurableAIAgentProxy.cs │ │ │ ├── DurableAgentContext.cs │ │ │ ├── DurableAgentJsonUtilities.cs │ │ │ ├── DurableAgentRunOptions.cs │ │ │ ├── DurableAgentSession.cs │ │ │ ├── DurableAgentsOptions.cs │ │ │ ├── DurableDataConverter.cs │ │ │ ├── DurableOptions.cs │ │ │ ├── DurableServicesMarker.cs │ │ │ ├── EntityAgentWrapper.cs │ │ │ ├── IAgentResponseHandler.cs │ │ │ ├── IDurableAgentClient.cs │ │ │ ├── Logs.cs │ │ │ ├── Microsoft.Agents.AI.DurableTask.csproj │ │ │ ├── README.md │ │ │ ├── RunRequest.cs │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ ├── State/ │ │ │ │ ├── DurableAgentState.cs │ │ │ │ ├── DurableAgentStateContent.cs │ │ │ │ ├── DurableAgentStateData.cs │ │ │ │ ├── DurableAgentStateDataContent.cs │ │ │ │ ├── DurableAgentStateEntry.cs │ │ │ │ ├── DurableAgentStateErrorContent.cs │ │ │ │ ├── DurableAgentStateFunctionCallContent.cs │ │ │ │ ├── DurableAgentStateFunctionResultContent.cs │ │ │ │ ├── DurableAgentStateHostedFileContent.cs │ │ │ │ ├── DurableAgentStateHostedVectorStoreContent.cs │ │ │ │ ├── DurableAgentStateJsonContext.cs │ │ │ │ ├── DurableAgentStateJsonConverter.cs │ │ │ │ ├── DurableAgentStateMessage.cs │ │ │ │ ├── DurableAgentStateRequest.cs │ │ │ │ ├── DurableAgentStateResponse.cs │ │ │ │ ├── DurableAgentStateTextContent.cs │ │ │ │ ├── DurableAgentStateTextReasoningContent.cs │ │ │ │ ├── DurableAgentStateUnknownContent.cs │ │ │ │ ├── DurableAgentStateUriContent.cs │ │ │ │ ├── DurableAgentStateUsage.cs │ │ │ │ ├── DurableAgentStateUsageContent.cs │ │ │ │ └── README.md │ │ │ ├── TaskOrchestrationContextExtensions.cs │ │ │ └── Workflows/ │ │ │ ├── DurableActivityExecutor.cs │ │ │ ├── DurableActivityInput.cs │ │ │ ├── DurableExecutorDispatcher.cs │ │ │ ├── DurableExecutorOutput.cs │ │ │ ├── DurableHaltRequestedEvent.cs │ │ │ ├── DurableMessageEnvelope.cs │ │ │ ├── DurableRunStatus.cs │ │ │ ├── DurableSerialization.cs │ │ │ ├── DurableStreamingWorkflowRun.cs │ │ │ ├── DurableWorkflowClient.cs │ │ │ ├── DurableWorkflowCompletedEvent.cs │ │ │ ├── DurableWorkflowContext.cs │ │ │ ├── DurableWorkflowFailedEvent.cs │ │ │ ├── DurableWorkflowInput.cs │ │ │ ├── DurableWorkflowJsonContext.cs │ │ │ ├── DurableWorkflowLiveStatus.cs │ │ │ ├── DurableWorkflowOptions.cs │ │ │ ├── DurableWorkflowResult.cs │ │ │ ├── DurableWorkflowRun.cs │ │ │ ├── DurableWorkflowRunner.cs │ │ │ ├── DurableWorkflowWaitingForInputEvent.cs │ │ │ ├── EdgeRouters/ │ │ │ │ ├── DurableDirectEdgeRouter.cs │ │ │ │ ├── DurableEdgeMap.cs │ │ │ │ ├── DurableFanOutEdgeRouter.cs │ │ │ │ └── IDurableEdgeRouter.cs │ │ │ ├── ExecutorRegistry.cs │ │ │ ├── IAwaitableWorkflowRun.cs │ │ │ ├── IStreamingWorkflowRun.cs │ │ │ ├── IWorkflowClient.cs │ │ │ ├── IWorkflowRun.cs │ │ │ ├── PendingRequestPortStatus.cs │ │ │ ├── TypedPayload.cs │ │ │ ├── WorkflowAnalyzer.cs │ │ │ ├── WorkflowExecutorInfo.cs │ │ │ ├── WorkflowGraphInfo.cs │ │ │ └── WorkflowNamingHelper.cs │ │ ├── Microsoft.Agents.AI.FoundryMemory/ │ │ │ ├── AIProjectClientExtensions.cs │ │ │ ├── FoundryMemoryJsonUtilities.cs │ │ │ ├── FoundryMemoryProvider.cs │ │ │ ├── FoundryMemoryProviderOptions.cs │ │ │ ├── FoundryMemoryProviderScope.cs │ │ │ └── Microsoft.Agents.AI.FoundryMemory.csproj │ │ ├── Microsoft.Agents.AI.GitHub.Copilot/ │ │ │ ├── CopilotClientExtensions.cs │ │ │ ├── GitHubCopilotAgent.cs │ │ │ ├── GitHubCopilotAgentSession.cs │ │ │ ├── GitHubCopilotJsonUtilities.cs │ │ │ └── Microsoft.Agents.AI.GitHub.Copilot.csproj │ │ ├── Microsoft.Agents.AI.Hosting/ │ │ │ ├── AIHostAgent.cs │ │ │ ├── AgentHostingServiceCollectionExtensions.cs │ │ │ ├── AgentSessionStore.cs │ │ │ ├── HostApplicationBuilderAgentExtensions.cs │ │ │ ├── HostApplicationBuilderWorkflowExtensions.cs │ │ │ ├── HostedAgentBuilder.cs │ │ │ ├── HostedAgentBuilderExtensions.cs │ │ │ ├── HostedWorkflowBuilder.cs │ │ │ ├── HostedWorkflowBuilderExtensions.cs │ │ │ ├── IHostedAgentBuilder.cs │ │ │ ├── IHostedWorkflowBuilder.cs │ │ │ ├── Local/ │ │ │ │ └── InMemoryAgentSessionStore.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.csproj │ │ │ ├── NoopAgentSessionStore.cs │ │ │ └── WorkflowCatalog.cs │ │ ├── Microsoft.Agents.AI.Hosting.A2A/ │ │ │ ├── A2AHostingJsonUtilities.cs │ │ │ ├── A2ARunDecisionContext.cs │ │ │ ├── AIAgentExtensions.cs │ │ │ ├── AgentRunMode.cs │ │ │ ├── Converters/ │ │ │ │ └── MessageConverter.cs │ │ │ └── Microsoft.Agents.AI.Hosting.A2A.csproj │ │ ├── Microsoft.Agents.AI.Hosting.A2A.AspNetCore/ │ │ │ ├── EndpointRouteBuilderExtensions.cs │ │ │ └── Microsoft.Agents.AI.Hosting.A2A.AspNetCore.csproj │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore/ │ │ │ ├── AGUIChatResponseUpdateStreamExtensions.cs │ │ │ ├── AGUIEndpointRouteBuilderExtensions.cs │ │ │ ├── AGUIJsonSerializerOptions.cs │ │ │ ├── AGUIServerSentEventsResult.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.csproj │ │ │ └── ServiceCollectionExtensions.cs │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions/ │ │ │ ├── BuiltInFunctionExecutor.cs │ │ │ ├── BuiltInFunctions.cs │ │ │ ├── CHANGELOG.md │ │ │ ├── DefaultFunctionsAgentOptionsProvider.cs │ │ │ ├── DurableAgentFunctionMetadataTransformer.cs │ │ │ ├── DurableAgentsOptionsExtensions.cs │ │ │ ├── DurableTaskClientExtensions.cs │ │ │ ├── FunctionMetadataFactory.cs │ │ │ ├── FunctionsAgentOptions.cs │ │ │ ├── FunctionsApplicationBuilderExtensions.cs │ │ │ ├── FunctionsDurableOptions.cs │ │ │ ├── HttpTriggerOptions.cs │ │ │ ├── IFunctionsAgentOptionsProvider.cs │ │ │ ├── Logs.cs │ │ │ ├── McpToolTriggerOptions.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions.csproj │ │ │ ├── Middlewares/ │ │ │ │ └── BuiltInFunctionExecutionMiddleware.cs │ │ │ ├── README.md │ │ │ └── Workflows/ │ │ │ ├── DurableWorkflowOptionsExtensions.cs │ │ │ ├── DurableWorkflowsFunctionMetadataTransformer.cs │ │ │ └── WorkflowOrchestrator.cs │ │ ├── Microsoft.Agents.AI.Hosting.OpenAI/ │ │ │ ├── ChatCompletions/ │ │ │ │ ├── AIAgentChatCompletionsProcessor.cs │ │ │ │ ├── AgentResponseExtensions.cs │ │ │ │ ├── ChatCompletionsJsonContext.cs │ │ │ │ ├── ChatCompletionsJsonSerializerOptions.cs │ │ │ │ ├── Converters/ │ │ │ │ │ ├── ChatClientAgentRunOptionsConverter.cs │ │ │ │ │ └── MessageContentPartConverter.cs │ │ │ │ └── Models/ │ │ │ │ ├── ChatCompletion.cs │ │ │ │ ├── ChatCompletionChoice.cs │ │ │ │ ├── ChatCompletionChunk.cs │ │ │ │ ├── ChatCompletionRequestMessage.cs │ │ │ │ ├── CompletionUsage.cs │ │ │ │ ├── CreateChatCompletion.cs │ │ │ │ ├── MessageContent.cs │ │ │ │ ├── MessageContentPart.cs │ │ │ │ ├── ResponseFormat.cs │ │ │ │ ├── StopSequences.cs │ │ │ │ ├── Tool.cs │ │ │ │ └── ToolChoice.cs │ │ │ ├── Conversations/ │ │ │ │ ├── ConversationsHttpHandler.cs │ │ │ │ ├── IAgentConversationIndex.cs │ │ │ │ ├── IConversationStorage.cs │ │ │ │ ├── InMemoryAgentConversationIndex.cs │ │ │ │ ├── InMemoryConversationStorage.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── AddMessageRequest.cs │ │ │ │ │ ├── Conversation.cs │ │ │ │ │ ├── CreateConversationRequest.cs │ │ │ │ │ └── UpdateConversationRequest.cs │ │ │ │ └── SortOrderExtensions.cs │ │ │ ├── EndpointRouteBuilderExtensions.ChatCompletions.cs │ │ │ ├── EndpointRouteBuilderExtensions.Conversations.cs │ │ │ ├── EndpointRouteBuilderExtensions.Responses.cs │ │ │ ├── HostApplicationBuilderExtensions.cs │ │ │ ├── IdGenerator.cs │ │ │ ├── InMemoryStorageOptions.cs │ │ │ ├── MemoryCacheExtensions.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.OpenAI.csproj │ │ │ ├── Models/ │ │ │ │ ├── DeleteResponse.cs │ │ │ │ ├── ErrorResponse.cs │ │ │ │ ├── ListResponse.cs │ │ │ │ └── SortOrder.cs │ │ │ ├── OpenAIHostingJsonUtilities.cs │ │ │ ├── Responses/ │ │ │ │ ├── AIAgentResponseExecutor.cs │ │ │ │ ├── AgentInvocationContext.cs │ │ │ │ ├── AgentResponseExtensions.cs │ │ │ │ ├── AgentResponseUpdateExtensions.cs │ │ │ │ ├── Converters/ │ │ │ │ │ ├── AgentReferenceExtensions.cs │ │ │ │ │ ├── ItemContentConverter.cs │ │ │ │ │ ├── ItemParamConverter.cs │ │ │ │ │ ├── ItemResourceConversions.cs │ │ │ │ │ ├── ItemResourceConverter.cs │ │ │ │ │ ├── ResponsesMessageItemParamConverter.cs │ │ │ │ │ ├── ResponsesMessageItemResourceConverter.cs │ │ │ │ │ └── SnakeCaseEnumConverter.cs │ │ │ │ ├── HostedAgentResponseExecutor.cs │ │ │ │ ├── IResponseExecutor.cs │ │ │ │ ├── IResponsesService.cs │ │ │ │ ├── InMemoryResponsesService.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── AgentId.cs │ │ │ │ │ ├── ConversationReference.cs │ │ │ │ │ ├── CreateResponse.cs │ │ │ │ │ ├── InputMessage.cs │ │ │ │ │ ├── InputMessageContent.cs │ │ │ │ │ ├── ItemParam.cs │ │ │ │ │ ├── ItemParamExtensions.cs │ │ │ │ │ ├── ItemResource.cs │ │ │ │ │ ├── PromptReference.cs │ │ │ │ │ ├── ReasoningOptions.cs │ │ │ │ │ ├── Response.cs │ │ │ │ │ ├── ResponseInput.cs │ │ │ │ │ ├── StreamOptions.cs │ │ │ │ │ ├── StreamingResponseEvent.cs │ │ │ │ │ ├── TextConfiguration.cs │ │ │ │ │ └── WorkflowEventData.cs │ │ │ │ ├── ResponsesHttpHandler.cs │ │ │ │ └── Streaming/ │ │ │ │ ├── AssistantMessageEventGenerator.cs │ │ │ │ ├── AudioContentEventGenerator.cs │ │ │ │ ├── ErrorContentEventGenerator.cs │ │ │ │ ├── FileContentEventGenerator.cs │ │ │ │ ├── FunctionApprovalRequestEventGenerator.cs │ │ │ │ ├── FunctionApprovalResponseEventGenerator.cs │ │ │ │ ├── FunctionCallEventGenerator.cs │ │ │ │ ├── FunctionResultEventGenerator.cs │ │ │ │ ├── HostedFileContentEventGenerator.cs │ │ │ │ ├── ImageContentEventGenerator.cs │ │ │ │ ├── SequenceNumber.cs │ │ │ │ ├── StreamingEventGenerator.cs │ │ │ │ └── TextReasoningContentEventGenerator.cs │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ └── SseJsonResult.cs │ │ ├── Microsoft.Agents.AI.Mem0/ │ │ │ ├── Mem0Client.cs │ │ │ ├── Mem0JsonUtilities.cs │ │ │ ├── Mem0Provider.cs │ │ │ ├── Mem0ProviderOptions.cs │ │ │ ├── Mem0ProviderScope.cs │ │ │ └── Microsoft.Agents.AI.Mem0.csproj │ │ ├── Microsoft.Agents.AI.OpenAI/ │ │ │ ├── ChatClient/ │ │ │ │ ├── AsyncStreamingChatCompletionUpdateCollectionResult.cs │ │ │ │ ├── AsyncStreamingResponseUpdateCollectionResult.cs │ │ │ │ └── StreamingUpdatePipelineResponse.cs │ │ │ ├── Extensions/ │ │ │ │ ├── AIAgentWithOpenAIExtensions.cs │ │ │ │ ├── AgentResponseExtensions.cs │ │ │ │ ├── OpenAIAssistantClientExtensions.cs │ │ │ │ ├── OpenAIChatClientExtensions.cs │ │ │ │ └── OpenAIResponseClientExtensions.cs │ │ │ └── Microsoft.Agents.AI.OpenAI.csproj │ │ ├── Microsoft.Agents.AI.Purview/ │ │ │ ├── BackgroundJobRunner.cs │ │ │ ├── CacheProvider.cs │ │ │ ├── ChannelHandler.cs │ │ │ ├── Constants.cs │ │ │ ├── Exceptions/ │ │ │ │ ├── PurviewAuthenticationException.cs │ │ │ │ ├── PurviewException.cs │ │ │ │ ├── PurviewJobException.cs │ │ │ │ ├── PurviewJobLimitExceededException.cs │ │ │ │ ├── PurviewPaymentRequiredException.cs │ │ │ │ ├── PurviewRateLimitException.cs │ │ │ │ └── PurviewRequestException.cs │ │ │ ├── IBackgroundJobRunner.cs │ │ │ ├── ICacheProvider.cs │ │ │ ├── IChannelHandler.cs │ │ │ ├── IPurviewClient.cs │ │ │ ├── IScopedContentProcessor.cs │ │ │ ├── Microsoft.Agents.AI.Purview.csproj │ │ │ ├── Models/ │ │ │ │ ├── Common/ │ │ │ │ │ ├── AIAgentInfo.cs │ │ │ │ │ ├── AIInteractionPlugin.cs │ │ │ │ │ ├── AccessedResourceDetails.cs │ │ │ │ │ ├── Activity.cs │ │ │ │ │ ├── ActivityMetadata.cs │ │ │ │ │ ├── ClassificationErrorBase.cs │ │ │ │ │ ├── ClassificationInnerError.cs │ │ │ │ │ ├── ContentBase.cs │ │ │ │ │ ├── ContentProcessingErrorType.cs │ │ │ │ │ ├── ContentToProcess.cs │ │ │ │ │ ├── DeviceMetadata.cs │ │ │ │ │ ├── DlpAction.cs │ │ │ │ │ ├── DlpActionInfo.cs │ │ │ │ │ ├── ErrorDetails.cs │ │ │ │ │ ├── ExecutionMode.cs │ │ │ │ │ ├── GraphDataTypeBase.cs │ │ │ │ │ ├── IntegratedAppMetadata.cs │ │ │ │ │ ├── OperatingSystemSpecifications.cs │ │ │ │ │ ├── PolicyBinding.cs │ │ │ │ │ ├── PolicyLocation.cs │ │ │ │ │ ├── PolicyPivotProperty.cs │ │ │ │ │ ├── PolicyScope.cs │ │ │ │ │ ├── ProcessContentMetadataBase.cs │ │ │ │ │ ├── ProcessConversationMetadata.cs │ │ │ │ │ ├── ProcessFileMetadata.cs │ │ │ │ │ ├── ProcessingError.cs │ │ │ │ │ ├── ProtectedAppMetadata.cs │ │ │ │ │ ├── ProtectionScopeActivities.cs │ │ │ │ │ ├── ProtectionScopeState.cs │ │ │ │ │ ├── ProtectionScopesCacheKey.cs │ │ │ │ │ ├── PurviewBinaryContent.cs │ │ │ │ │ ├── PurviewTextContent.cs │ │ │ │ │ ├── ResourceAccessStatus.cs │ │ │ │ │ ├── ResourceAccessType.cs │ │ │ │ │ ├── RestrictionAction.cs │ │ │ │ │ ├── Scope.cs │ │ │ │ │ └── TokenInfo.cs │ │ │ │ ├── Jobs/ │ │ │ │ │ ├── BackgroundJobBase.cs │ │ │ │ │ ├── ContentActivityJob.cs │ │ │ │ │ └── ProcessContentJob.cs │ │ │ │ ├── Requests/ │ │ │ │ │ ├── ContentActivitiesRequest.cs │ │ │ │ │ ├── ProcessContentRequest.cs │ │ │ │ │ └── ProtectionScopesRequest.cs │ │ │ │ └── Responses/ │ │ │ │ ├── ContentActivitiesResponse.cs │ │ │ │ ├── ProcessContentResponse.cs │ │ │ │ └── ProtectionScopesResponse.cs │ │ │ ├── PurviewAgent.cs │ │ │ ├── PurviewAppLocation.cs │ │ │ ├── PurviewChatClient.cs │ │ │ ├── PurviewClient.cs │ │ │ ├── PurviewExtensions.cs │ │ │ ├── PurviewLocationType.cs │ │ │ ├── PurviewSettings.cs │ │ │ ├── PurviewWrapper.cs │ │ │ ├── README.md │ │ │ ├── ScopedContentProcessor.cs │ │ │ └── Serialization/ │ │ │ └── PurviewSerializationUtils.cs │ │ ├── Microsoft.Agents.AI.Workflows/ │ │ │ ├── AIAgentBinding.cs │ │ │ ├── AIAgentExtensions.cs │ │ │ ├── AIAgentHostOptions.cs │ │ │ ├── AIAgentIDEqualityComparer.cs │ │ │ ├── AIAgentsAbstractionsExtensions.cs │ │ │ ├── AgentResponseEvent.cs │ │ │ ├── AgentResponseUpdateEvent.cs │ │ │ ├── AgentWorkflowBuilder.cs │ │ │ ├── AggregatingExecutor.cs │ │ │ ├── Attributes/ │ │ │ │ ├── MessageHandlerAttribute.cs │ │ │ │ ├── SendsMessageAttribute.cs │ │ │ │ ├── YieldsMessageAttribute.cs │ │ │ │ └── YieldsOutputAttribute.cs │ │ │ ├── ChatForwardingExecutor.cs │ │ │ ├── ChatProtocol.cs │ │ │ ├── ChatProtocolExecutor.cs │ │ │ ├── CheckpointInfo.cs │ │ │ ├── CheckpointManager.cs │ │ │ ├── CheckpointableRunBase.cs │ │ │ ├── Checkpointing/ │ │ │ │ ├── Checkpoint.cs │ │ │ │ ├── CheckpointInfoConverter.cs │ │ │ │ ├── CheckpointManagerImpl.cs │ │ │ │ ├── DirectEdgeInfo.cs │ │ │ │ ├── EdgeIdConverter.cs │ │ │ │ ├── EdgeInfo.cs │ │ │ │ ├── ExecutorIdentityConverter.cs │ │ │ │ ├── ExecutorInfo.cs │ │ │ │ ├── FanInEdgeInfo.cs │ │ │ │ ├── FanOutEdgeInfo.cs │ │ │ │ ├── FileSystemJsonCheckpointStore.cs │ │ │ │ ├── ICheckpointManager.cs │ │ │ │ ├── ICheckpointStore.cs │ │ │ │ ├── ICheckpointingHandle.cs │ │ │ │ ├── IDelayedDeserialization.cs │ │ │ │ ├── IWireMarshaller.cs │ │ │ │ ├── InMemoryCheckpointManager.cs │ │ │ │ ├── JsonCheckpointStore.cs │ │ │ │ ├── JsonConverterBase.cs │ │ │ │ ├── JsonConverterDictionarySupportBase.cs │ │ │ │ ├── JsonMarshaller.cs │ │ │ │ ├── JsonWireSerializedValue.cs │ │ │ │ ├── PortableMessageEnvelope.cs │ │ │ │ ├── PortableValueConverter.cs │ │ │ │ ├── RepresentationExtensions.cs │ │ │ │ ├── RequestPortInfo.cs │ │ │ │ ├── ScopeKeyConverter.cs │ │ │ │ ├── SessionCheckpointCache.cs │ │ │ │ ├── TypeId.cs │ │ │ │ └── WorkflowInfo.cs │ │ │ ├── Config.cs │ │ │ ├── ConfigurationExtensions.cs │ │ │ ├── Configured.cs │ │ │ ├── ConfiguredExecutorBinding.cs │ │ │ ├── DirectEdgeData.cs │ │ │ ├── Edge.cs │ │ │ ├── EdgeData.cs │ │ │ ├── EdgeId.cs │ │ │ ├── Execution/ │ │ │ │ ├── AsyncRunHandle.cs │ │ │ │ ├── AsyncRunHandleExtensions.cs │ │ │ │ ├── CallResult.cs │ │ │ │ ├── ConcurrentEventSink.cs │ │ │ │ ├── DeliveryMapping.cs │ │ │ │ ├── DirectEdgeRunner.cs │ │ │ │ ├── EdgeConnection.cs │ │ │ │ ├── EdgeMap.cs │ │ │ │ ├── EdgeRunner.cs │ │ │ │ ├── ExecutionMode.cs │ │ │ │ ├── ExecutorIdentity.cs │ │ │ │ ├── FanInEdgeRunner.cs │ │ │ │ ├── FanInEdgeState.cs │ │ │ │ ├── FanOutEdgeRunner.cs │ │ │ │ ├── IExternalRequestSink.cs │ │ │ │ ├── IRunEventStream.cs │ │ │ │ ├── IRunnerContext.cs │ │ │ │ ├── IStepTracer.cs │ │ │ │ ├── ISuperStepJoinContext.cs │ │ │ │ ├── ISuperStepRunner.cs │ │ │ │ ├── InputWaiter.cs │ │ │ │ ├── LockstepRunEventStream.cs │ │ │ │ ├── MessageDelivery.cs │ │ │ │ ├── MessageEnvelope.cs │ │ │ │ ├── MessageRouter.cs │ │ │ │ ├── NonThrowingChannelReaderAsyncEnumerable.cs │ │ │ │ ├── OutputFilter.cs │ │ │ │ ├── ResponseEdgeRunner.cs │ │ │ │ ├── RunnerStateData.cs │ │ │ │ ├── StateManager.cs │ │ │ │ ├── StateScope.cs │ │ │ │ ├── StateUpdate.cs │ │ │ │ ├── StepContext.cs │ │ │ │ ├── StreamingRunEventStream.cs │ │ │ │ └── UpdateKey.cs │ │ │ ├── Executor.cs │ │ │ ├── ExecutorBinding.cs │ │ │ ├── ExecutorBindingExtensions.cs │ │ │ ├── ExecutorCompletedEvent.cs │ │ │ ├── ExecutorEvent.cs │ │ │ ├── ExecutorFailedEvent.cs │ │ │ ├── ExecutorInstanceBinding.cs │ │ │ ├── ExecutorInvokedEvent.cs │ │ │ ├── ExecutorOptions.cs │ │ │ ├── ExecutorPlaceholder.cs │ │ │ ├── ExternalRequest.cs │ │ │ ├── ExternalResponse.cs │ │ │ ├── FanInEdgeData.cs │ │ │ ├── FanOutEdgeData.cs │ │ │ ├── FunctionExecutor.cs │ │ │ ├── GroupChatManager.cs │ │ │ ├── GroupChatWorkflowBuilder.cs │ │ │ ├── HandoffToolCallFilteringBehavior.cs │ │ │ ├── HandoffsWorkflowBuilder.cs │ │ │ ├── IExternalRequestContext.cs │ │ │ ├── IIdentified.cs │ │ │ ├── IMessageRouter.cs │ │ │ ├── IResettableExecutor.cs │ │ │ ├── IWorkflowContext.cs │ │ │ ├── IWorkflowContextExtensions.cs │ │ │ ├── IWorkflowExecutionEnvironment.cs │ │ │ ├── InProc/ │ │ │ │ ├── InProcStepTracer.cs │ │ │ │ ├── InProcessExecutionEnvironment.cs │ │ │ │ ├── InProcessExecutionOptions.cs │ │ │ │ ├── InProcessRunner.cs │ │ │ │ └── InProcessRunnerContext.cs │ │ │ ├── InProcessExecution.cs │ │ │ ├── MessageMerger.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.csproj │ │ │ ├── Observability/ │ │ │ │ ├── ActivityExtensions.cs │ │ │ │ ├── ActivityNames.cs │ │ │ │ ├── EdgeRunnerDeliveryStatus.cs │ │ │ │ ├── EventNames.cs │ │ │ │ ├── Tags.cs │ │ │ │ ├── WorkflowTelemetryContext.cs │ │ │ │ └── WorkflowTelemetryOptions.cs │ │ │ ├── OpenTelemetryWorkflowBuilderExtensions.cs │ │ │ ├── PortBinding.cs │ │ │ ├── PortableValue.cs │ │ │ ├── ProtocolBuilder.cs │ │ │ ├── ProtocolDescriptor.cs │ │ │ ├── Reflection/ │ │ │ │ ├── IMessageHandler.cs │ │ │ │ ├── MessageHandlerInfo.cs │ │ │ │ ├── ReflectingExecutor.cs │ │ │ │ ├── ReflectionExtensions.cs │ │ │ │ ├── RouteBuilderExtensions.cs │ │ │ │ └── ValueTaskTypeErasure.cs │ │ │ ├── RequestHaltEvent.cs │ │ │ ├── RequestInfoEvent.cs │ │ │ ├── RequestPort.cs │ │ │ ├── RequestPortBinding.cs │ │ │ ├── RoundRobinGroupChatManager.cs │ │ │ ├── RouteBuilder.cs │ │ │ ├── Run.cs │ │ │ ├── RunStatus.cs │ │ │ ├── ScopeId.cs │ │ │ ├── ScopeKey.cs │ │ │ ├── Specialized/ │ │ │ │ ├── AIAgentHostExecutor.cs │ │ │ │ ├── AIContentExternalHandler.cs │ │ │ │ ├── AggregateTurnMessagesExecutor.cs │ │ │ │ ├── ConcurrentEndExecutor.cs │ │ │ │ ├── GroupChatHost.cs │ │ │ │ ├── HandoffAgentExecutor.cs │ │ │ │ ├── HandoffState.cs │ │ │ │ ├── HandoffTarget.cs │ │ │ │ ├── HandoffsEndExecutor.cs │ │ │ │ ├── HandoffsStartExecutor.cs │ │ │ │ ├── OutputMessagesExecutor.cs │ │ │ │ ├── RequestInfoExecutor.cs │ │ │ │ ├── RequestPortExtensions.cs │ │ │ │ └── WorkflowHostExecutor.cs │ │ │ ├── StatefulExecutor.cs │ │ │ ├── StatefulExecutorOptions.cs │ │ │ ├── StreamingAggregators.cs │ │ │ ├── StreamingRun.cs │ │ │ ├── StreamsMessageAttribute.cs │ │ │ ├── SubworkflowBinding.cs │ │ │ ├── SubworkflowErrorEvent.cs │ │ │ ├── SubworkflowWarningEvent.cs │ │ │ ├── SuperStepCompletedEvent.cs │ │ │ ├── SuperStepCompletionInfo.cs │ │ │ ├── SuperStepEvent.cs │ │ │ ├── SuperStepStartInfo.cs │ │ │ ├── SuperStepStartedEvent.cs │ │ │ ├── SwitchBuilder.cs │ │ │ ├── TurnToken.cs │ │ │ ├── Visualization/ │ │ │ │ └── WorkflowVisualizer.cs │ │ │ ├── Workflow.cs │ │ │ ├── WorkflowBuilder.cs │ │ │ ├── WorkflowBuilderExtensions.cs │ │ │ ├── WorkflowChatHistoryProvider.cs │ │ │ ├── WorkflowErrorEvent.cs │ │ │ ├── WorkflowEvent.cs │ │ │ ├── WorkflowHostAgent.cs │ │ │ ├── WorkflowHostingExtensions.cs │ │ │ ├── WorkflowOutputEvent.cs │ │ │ ├── WorkflowSession.cs │ │ │ ├── WorkflowStartedEvent.cs │ │ │ ├── WorkflowWarningEvent.cs │ │ │ └── WorkflowsJsonUtilities.cs │ │ ├── Microsoft.Agents.AI.Workflows.Declarative/ │ │ │ ├── CodeGen/ │ │ │ │ ├── ActionTemplate.cs │ │ │ │ ├── AddConversationMessageTemplate.cs │ │ │ │ ├── AddConversationMessageTemplate.tt │ │ │ │ ├── AddConversationMessageTemplateCode.cs │ │ │ │ ├── ClearAllVariablesTemplate.cs │ │ │ │ ├── ClearAllVariablesTemplate.tt │ │ │ │ ├── ClearAllVariablesTemplateCode.cs │ │ │ │ ├── CodeTemplate.cs │ │ │ │ ├── ConditionGroupTemplate.cs │ │ │ │ ├── ConditionGroupTemplate.tt │ │ │ │ ├── ConditionGroupTemplateCode.cs │ │ │ │ ├── CopyConversationMessagesTemplate.cs │ │ │ │ ├── CopyConversationMessagesTemplate.tt │ │ │ │ ├── CopyConversationMessagesTemplateCode.cs │ │ │ │ ├── CreateConversationTemplate.cs │ │ │ │ ├── CreateConversationTemplate.tt │ │ │ │ ├── CreateConversationTemplateCode.cs │ │ │ │ ├── DefaultTemplate.cs │ │ │ │ ├── DefaultTemplate.tt │ │ │ │ ├── DefaultTemplateCode.cs │ │ │ │ ├── EdgeTemplate.cs │ │ │ │ ├── EdgeTemplate.tt │ │ │ │ ├── EdgeTemplateCode.cs │ │ │ │ ├── EditTableV2Template.cs │ │ │ │ ├── EditTableV2Template.tt │ │ │ │ ├── EditTableV2TemplateCode.cs │ │ │ │ ├── EmptyTemplate.cs │ │ │ │ ├── EmptyTemplate.tt │ │ │ │ ├── EmptyTemplateCode.cs │ │ │ │ ├── ForeachTemplate.cs │ │ │ │ ├── ForeachTemplate.tt │ │ │ │ ├── ForeachTemplateCode.cs │ │ │ │ ├── InstanceTemplate.cs │ │ │ │ ├── InstanceTemplate.tt │ │ │ │ ├── InstanceTemplateCode.cs │ │ │ │ ├── InvokeAzureAgentTemplate.cs │ │ │ │ ├── InvokeAzureAgentTemplate.tt │ │ │ │ ├── InvokeAzureAgentTemplateCode.cs │ │ │ │ ├── ParseValueTemplate.cs │ │ │ │ ├── ParseValueTemplate.tt │ │ │ │ ├── ParseValueTemplateCode.cs │ │ │ │ ├── ProviderTemplate.cs │ │ │ │ ├── ProviderTemplate.tt │ │ │ │ ├── ProviderTemplateCode.cs │ │ │ │ ├── QuestionTemplate.cs │ │ │ │ ├── QuestionTemplate.tt │ │ │ │ ├── QuestionTemplateCode.cs │ │ │ │ ├── ResetVariableTemplate.cs │ │ │ │ ├── ResetVariableTemplate.tt │ │ │ │ ├── ResetVariableTemplateCode.cs │ │ │ │ ├── RetrieveConversationMessageTemplate.cs │ │ │ │ ├── RetrieveConversationMessageTemplate.tt │ │ │ │ ├── RetrieveConversationMessageTemplateCode.cs │ │ │ │ ├── RetrieveConversationMessagesTemplate.cs │ │ │ │ ├── RetrieveConversationMessagesTemplate.tt │ │ │ │ ├── RetrieveConversationMessagesTemplateCode.cs │ │ │ │ ├── RootTemplate.cs │ │ │ │ ├── RootTemplate.tt │ │ │ │ ├── RootTemplateCode.cs │ │ │ │ ├── SendActivityTemplate.cs │ │ │ │ ├── SendActivityTemplate.tt │ │ │ │ ├── SendActivityTemplateCode.cs │ │ │ │ ├── SetMultipleVariablesTemplate.cs │ │ │ │ ├── SetMultipleVariablesTemplate.tt │ │ │ │ ├── SetMultipleVariablesTemplateCode.cs │ │ │ │ ├── SetTextVariableTemplate.cs │ │ │ │ ├── SetTextVariableTemplate.tt │ │ │ │ ├── SetTextVariableTemplateCode.cs │ │ │ │ ├── SetVariableTemplate.cs │ │ │ │ ├── SetVariableTemplate.tt │ │ │ │ ├── SetVariableTemplateCode.cs │ │ │ │ └── Snippets/ │ │ │ │ ├── AssignVariableTemplate.tt │ │ │ │ ├── EvaluateBoolExpressionTemplate.tt │ │ │ │ ├── EvaluateEnumExpressionTemplate.tt │ │ │ │ ├── EvaluateIntExpressionTemplate.tt │ │ │ │ ├── EvaluateListExpressionTemplate.tt │ │ │ │ ├── EvaluateRecordExpressionTemplate.tt │ │ │ │ ├── EvaluateStringExpressionTemplate.tt │ │ │ │ ├── EvaluateValueExpressionTemplate.tt │ │ │ │ └── FormatMessageTemplate.tt │ │ │ ├── DeclarativeWorkflowBuilder.cs │ │ │ ├── DeclarativeWorkflowLanguage.cs │ │ │ ├── DeclarativeWorkflowOptions.cs │ │ │ ├── Entities/ │ │ │ │ ├── EntityExtractionResult.cs │ │ │ │ └── EntityExtractor.cs │ │ │ ├── Events/ │ │ │ │ ├── ConversationUpdateEvent.cs │ │ │ │ ├── DeclarativeActionCompletedEvent.cs │ │ │ │ ├── DeclarativeActionInvokedEvent.cs │ │ │ │ ├── ExternalInputRequest.cs │ │ │ │ ├── ExternalInputResponse.cs │ │ │ │ └── MessageActivityEvent.cs │ │ │ ├── Exceptions/ │ │ │ │ ├── DeclarativeActionException.cs │ │ │ │ ├── DeclarativeModelException.cs │ │ │ │ └── DeclarativeWorkflowException.cs │ │ │ ├── Extensions/ │ │ │ │ ├── AgentProviderExtensions.cs │ │ │ │ ├── BotElementExtensions.cs │ │ │ │ ├── ChatMessageExtensions.cs │ │ │ │ ├── DataValueExtensions.cs │ │ │ │ ├── DeclarativeWorkflowOptionsExtensions.cs │ │ │ │ ├── DialogBaseExtensions.cs │ │ │ │ ├── ExpandoObjectExtensions.cs │ │ │ │ ├── FormulaValueExtensions.cs │ │ │ │ ├── IWorkflowContextExtensions.cs │ │ │ │ ├── JsonDocumentExtensions.cs │ │ │ │ ├── ObjectExtensions.cs │ │ │ │ ├── PortableValueExtensions.cs │ │ │ │ ├── StringExtensions.cs │ │ │ │ ├── TemplateExtensions.cs │ │ │ │ └── TypeExtensions.cs │ │ │ ├── IMcpToolHandler.cs │ │ │ ├── Interpreter/ │ │ │ │ ├── DeclarativeActionExecutor.cs │ │ │ │ ├── DeclarativeWorkflowContext.cs │ │ │ │ ├── DeclarativeWorkflowExecutor.cs │ │ │ │ ├── DelegateActionExecutor.cs │ │ │ │ ├── DurableProperty.cs │ │ │ │ ├── RequestPortAction.cs │ │ │ │ ├── WorkflowActionVisitor.cs │ │ │ │ ├── WorkflowCodeBuilder.cs │ │ │ │ ├── WorkflowElementWalker.cs │ │ │ │ ├── WorkflowModel.cs │ │ │ │ ├── WorkflowModelBuilder.cs │ │ │ │ └── WorkflowTemplateVisitor.cs │ │ │ ├── Kit/ │ │ │ │ ├── ActionExecutor.cs │ │ │ │ ├── ActionExecutorResult.cs │ │ │ │ ├── AgentExecutor.cs │ │ │ │ ├── DelegateExecutor.cs │ │ │ │ ├── FormulaSession.cs │ │ │ │ ├── IWorkflowContextExtensions.cs │ │ │ │ ├── PortableValueExtensions.cs │ │ │ │ ├── RootExecutor.cs │ │ │ │ ├── UnassignedValue.cs │ │ │ │ └── VariableType.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.csproj │ │ │ ├── ObjectModel/ │ │ │ │ ├── AddConversationMessageExecutor.cs │ │ │ │ ├── ClearAllVariablesExecutor.cs │ │ │ │ ├── ConditionGroupExecutor.cs │ │ │ │ ├── CopyConversationMessagesExecutor.cs │ │ │ │ ├── CreateConversationExecutor.cs │ │ │ │ ├── DefaultActionExecutor.cs │ │ │ │ ├── EditTableExecutor.cs │ │ │ │ ├── EditTableV2Executor.cs │ │ │ │ ├── ForeachExecutor.cs │ │ │ │ ├── InvokeAzureAgentExecutor.cs │ │ │ │ ├── InvokeFunctionToolExecutor.cs │ │ │ │ ├── InvokeMcpToolExecutor.cs │ │ │ │ ├── ParseValueExecutor.cs │ │ │ │ ├── QuestionExecutor.cs │ │ │ │ ├── RequestExternalInputExecutor.cs │ │ │ │ ├── ResetVariableExecutor.cs │ │ │ │ ├── RetrieveConversationMessageExecutor.cs │ │ │ │ ├── RetrieveConversationMessagesExecutor.cs │ │ │ │ ├── SendActivityExecutor.cs │ │ │ │ ├── SetMultipleVariablesExecutor.cs │ │ │ │ ├── SetTextVariableExecutor.cs │ │ │ │ └── SetVariableExecutor.cs │ │ │ ├── PowerFx/ │ │ │ │ ├── Functions/ │ │ │ │ │ ├── AgentMessage.cs │ │ │ │ │ ├── MessageFunction.cs │ │ │ │ │ ├── MessageText.cs │ │ │ │ │ └── UserMessage.cs │ │ │ │ ├── RecalcEngineFactory.cs │ │ │ │ ├── SystemScope.cs │ │ │ │ ├── TypeSchema.cs │ │ │ │ ├── WorkflowDiagnostics.cs │ │ │ │ ├── WorkflowExpressionEngine.cs │ │ │ │ └── WorkflowFormulaState.cs │ │ │ ├── README.md │ │ │ └── ResponseAgentProvider.cs │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.AzureAI/ │ │ │ ├── AzureAgentProvider.cs │ │ │ └── Microsoft.Agents.AI.Workflows.Declarative.AzureAI.csproj │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.Mcp/ │ │ │ ├── DefaultMcpToolHandler.cs │ │ │ └── Microsoft.Agents.AI.Workflows.Declarative.Mcp.csproj │ │ ├── Microsoft.Agents.AI.Workflows.Generators/ │ │ │ ├── Analysis/ │ │ │ │ └── SemanticAnalyzer.cs │ │ │ ├── Diagnostics/ │ │ │ │ └── DiagnosticDescriptors.cs │ │ │ ├── Directory.Build.targets │ │ │ ├── ExecutorRouteGenerator.cs │ │ │ ├── Generation/ │ │ │ │ └── SourceBuilder.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.Generators.csproj │ │ │ ├── Models/ │ │ │ │ ├── AnalysisResult.cs │ │ │ │ ├── ClassProtocolInfo.cs │ │ │ │ ├── DiagnosticInfo.cs │ │ │ │ ├── DiagnosticLocationInfo.cs │ │ │ │ ├── EquatableArray.cs │ │ │ │ ├── ExecutorInfo.cs │ │ │ │ ├── HandlerInfo.cs │ │ │ │ ├── ImmutableEquatableArray.cs │ │ │ │ ├── MethodAnalysisResult.cs │ │ │ │ └── ProtocolAttributeKind.cs │ │ │ └── SkipIncompatibleBuild.targets │ │ └── Shared/ │ │ ├── CodeTests/ │ │ │ ├── Compiler.cs │ │ │ └── README.md │ │ ├── Demos/ │ │ │ ├── README.md │ │ │ └── SampleEnvironment.cs │ │ ├── DiagnosticIds/ │ │ │ ├── DiagnosticsIds.cs │ │ │ └── README.md │ │ ├── Foundry/ │ │ │ └── Agents/ │ │ │ ├── AgentFactory.cs │ │ │ └── README.md │ │ ├── IntegrationTests/ │ │ │ ├── README.md │ │ │ └── TestSettings.cs │ │ ├── IntegrationTestsAzureCredentials/ │ │ │ ├── README.md │ │ │ └── TestAzureCliCredentials.cs │ │ ├── Samples/ │ │ │ ├── BaseSample.cs │ │ │ ├── OrchestrationSample.cs │ │ │ ├── README.md │ │ │ ├── Resources.cs │ │ │ ├── TestConfiguration.cs │ │ │ ├── TextOutputHelperExtensions.cs │ │ │ └── XunitLogger.cs │ │ ├── StructuredOutput/ │ │ │ └── StructuredOutputSchemaUtilities.cs │ │ ├── Throw/ │ │ │ ├── README.md │ │ │ └── Throw.cs │ │ └── Workflows/ │ │ ├── Execution/ │ │ │ ├── README.md │ │ │ ├── WorkflowFactory.cs │ │ │ └── WorkflowRunner.cs │ │ └── Settings/ │ │ ├── Application.cs │ │ └── README.md │ ├── tests/ │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── AgentConformance.IntegrationTests/ │ │ │ ├── AgentConformance.IntegrationTests.csproj │ │ │ ├── AgentTests.cs │ │ │ ├── ChatClientAgentRunStreamingTests.cs │ │ │ ├── ChatClientAgentRunTests.cs │ │ │ ├── IAgentFixture.cs │ │ │ ├── IChatClientAgentFixture.cs │ │ │ ├── MenuPlugin.cs │ │ │ ├── RunStreamingTests.cs │ │ │ ├── RunTests.cs │ │ │ ├── StructuredOutputRunTests.cs │ │ │ └── Support/ │ │ │ ├── AgentCleanup.cs │ │ │ ├── Constants.cs │ │ │ ├── SessionCleanup.cs │ │ │ └── TestConfiguration.cs │ │ ├── AnthropicChatCompletion.IntegrationTests/ │ │ │ ├── AnthropicChatCompletion.IntegrationTests.csproj │ │ │ ├── AnthropicChatCompletionChatClientAgentRunStreamingTests.cs │ │ │ ├── AnthropicChatCompletionChatClientAgentRunTests.cs │ │ │ ├── AnthropicChatCompletionFixture.cs │ │ │ ├── AnthropicChatCompletionRunStreamingTests.cs │ │ │ ├── AnthropicChatCompletionRunTests.cs │ │ │ └── AnthropicSkillsIntegrationTests.cs │ │ ├── AzureAI.IntegrationTests/ │ │ │ ├── AIProjectClientAgentRunStreamingTests.cs │ │ │ ├── AIProjectClientAgentRunTests.cs │ │ │ ├── AIProjectClientAgentStructuredOutputRunTests.cs │ │ │ ├── AIProjectClientChatClientAgentRunStreamingTests.cs │ │ │ ├── AIProjectClientChatClientAgentRunTests.cs │ │ │ ├── AIProjectClientCreateTests.cs │ │ │ ├── AIProjectClientFixture.cs │ │ │ └── AzureAI.IntegrationTests.csproj │ │ ├── AzureAIAgentsPersistent.IntegrationTests/ │ │ │ ├── AzureAIAgentsChatClientAgentRunStreamingTests.cs │ │ │ ├── AzureAIAgentsChatClientAgentRunTests.cs │ │ │ ├── AzureAIAgentsPersistent.IntegrationTests.csproj │ │ │ ├── AzureAIAgentsPersistentCreateTests.cs │ │ │ ├── AzureAIAgentsPersistentFixture.cs │ │ │ ├── AzureAIAgentsPersistentRunStreamingTests.cs │ │ │ ├── AzureAIAgentsPersistentRunTests.cs │ │ │ └── AzureAIAgentsPersistentStructuredOutputRunTests.cs │ │ ├── CopilotStudio.IntegrationTests/ │ │ │ ├── CopilotStudio.IntegrationTests.csproj │ │ │ ├── CopilotStudioFixture.cs │ │ │ ├── CopilotStudioRunStreamingTests.cs │ │ │ ├── CopilotStudioRunTests.cs │ │ │ └── Support/ │ │ │ ├── CopilotStudioConnectionSettings.cs │ │ │ └── CopilotStudioTokenHandler.cs │ │ ├── Directory.Build.props │ │ ├── Microsoft.Agents.AI.A2A.UnitTests/ │ │ │ ├── A2AAgentSessionTests.cs │ │ │ ├── A2AAgentTests.cs │ │ │ ├── A2AContinuationTokenTests.cs │ │ │ ├── Extensions/ │ │ │ │ ├── A2AAIContentExtensionsTests.cs │ │ │ │ ├── A2AAgentCardExtensionsTests.cs │ │ │ │ ├── A2AAgentTaskExtensionsTests.cs │ │ │ │ ├── A2AArtifactExtensionsTests.cs │ │ │ │ ├── A2ACardResolverExtensionsTests.cs │ │ │ │ ├── A2AClientExtensionsTests.cs │ │ │ │ └── ChatMessageExtensionsTests.cs │ │ │ └── Microsoft.Agents.AI.A2A.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.AGUI.UnitTests/ │ │ │ ├── AGUIChatClientTests.cs │ │ │ ├── AGUIChatMessageExtensionsTests.cs │ │ │ ├── AGUIHttpServiceTests.cs │ │ │ ├── AGUIJsonSerializerContextTests.cs │ │ │ ├── AIToolExtensionsTests.cs │ │ │ ├── ChatResponseUpdateAGUIExtensionsTests.cs │ │ │ ├── Microsoft.Agents.AI.AGUI.UnitTests.csproj │ │ │ └── TestHelpers.cs │ │ ├── Microsoft.Agents.AI.Abstractions.UnitTests/ │ │ │ ├── AIAgentMetadataTests.cs │ │ │ ├── AIAgentStructuredOutputTests.cs │ │ │ ├── AIAgentTests.cs │ │ │ ├── AIContextProviderTests.cs │ │ │ ├── AIContextTests.cs │ │ │ ├── AdditionalPropertiesExtensionsTests.cs │ │ │ ├── AgentAbstractionsJsonUtilitiesTests.cs │ │ │ ├── AgentRequestMessageSourceAttributionTests.cs │ │ │ ├── AgentRequestMessageSourceTypeTests.cs │ │ │ ├── AgentResponseTests.cs │ │ │ ├── AgentResponseUpdateExtensionsTests.cs │ │ │ ├── AgentResponseUpdateTests.cs │ │ │ ├── AgentRunContextTests.cs │ │ │ ├── AgentRunOptionsTests.cs │ │ │ ├── AgentSessionExtensionsTests.cs │ │ │ ├── AgentSessionStateBagTests.cs │ │ │ ├── AgentSessionTests.cs │ │ │ ├── ChatHistoryProviderTests.cs │ │ │ ├── ChatMessageExtensionsTests.cs │ │ │ ├── DelegatingAIAgentTests.cs │ │ │ ├── InMemoryChatHistoryProviderTests.cs │ │ │ ├── MessageAIContextProviderTests.cs │ │ │ ├── Microsoft.Agents.AI.Abstractions.UnitTests.csproj │ │ │ ├── Models/ │ │ │ │ ├── Animal.cs │ │ │ │ └── Species.cs │ │ │ ├── ProviderSessionStateTests.cs │ │ │ └── TestJsonSerializerContext.cs │ │ ├── Microsoft.Agents.AI.Anthropic.UnitTests/ │ │ │ ├── Extensions/ │ │ │ │ ├── AnthropicBetaServiceExtensionsTests.cs │ │ │ │ └── AnthropicClientExtensionsTests.cs │ │ │ └── Microsoft.Agents.AI.Anthropic.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.AzureAI.Persistent.UnitTests/ │ │ │ ├── Extensions/ │ │ │ │ └── PersistentAgentsClientExtensionsTests.cs │ │ │ └── Microsoft.Agents.AI.AzureAI.Persistent.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.AzureAI.UnitTests/ │ │ │ ├── AzureAIProjectChatClientExtensionsTests.cs │ │ │ ├── AzureAIProjectChatClientTests.cs │ │ │ ├── FakeAuthenticationTokenProvider.cs │ │ │ ├── HttpHandlerAssert.cs │ │ │ ├── Microsoft.Agents.AI.AzureAI.UnitTests.csproj │ │ │ ├── TestData/ │ │ │ │ ├── AgentResponse.json │ │ │ │ ├── AgentVersionResponse.json │ │ │ │ └── OpenAIDefaultResponse.json │ │ │ └── TestDataUtil.cs │ │ ├── Microsoft.Agents.AI.CosmosNoSql.UnitTests/ │ │ │ ├── .editorconfig │ │ │ ├── CosmosChatHistoryProviderTests.cs │ │ │ ├── CosmosCheckpointStoreTests.cs │ │ │ ├── CosmosDBCollectionFixture.cs │ │ │ └── Microsoft.Agents.AI.CosmosNoSql.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Declarative.UnitTests/ │ │ │ ├── AgentBotElementYamlTests.cs │ │ │ ├── AggregatorPromptAgentFactoryTests.cs │ │ │ ├── ChatClient/ │ │ │ │ └── ChatClientAgentFactoryTests.cs │ │ │ ├── Microsoft.Agents.AI.Declarative.UnitTests.csproj │ │ │ └── PromptAgents.cs │ │ ├── Microsoft.Agents.AI.DevUI.UnitTests/ │ │ │ ├── DevUIExtensionsTests.cs │ │ │ ├── DevUIIntegrationTests.cs │ │ │ └── Microsoft.Agents.AI.DevUI.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.DurableTask.IntegrationTests/ │ │ │ ├── AgentEntityTests.cs │ │ │ ├── ConsoleAppSamplesValidation.cs │ │ │ ├── ExternalClientTests.cs │ │ │ ├── Logging/ │ │ │ │ ├── LogEntry.cs │ │ │ │ ├── TestLogger.cs │ │ │ │ └── TestLoggerProvider.cs │ │ │ ├── Microsoft.Agents.AI.DurableTask.IntegrationTests.csproj │ │ │ ├── OrchestrationTests.cs │ │ │ ├── SamplesValidationBase.cs │ │ │ ├── TestHelper.cs │ │ │ ├── TimeToLiveTests.cs │ │ │ └── WorkflowConsoleAppSamplesValidation.cs │ │ ├── Microsoft.Agents.AI.DurableTask.UnitTests/ │ │ │ ├── AgentSessionIdTests.cs │ │ │ ├── DurableAgentRunOptionsTests.cs │ │ │ ├── DurableAgentSessionTests.cs │ │ │ ├── Microsoft.Agents.AI.DurableTask.UnitTests.csproj │ │ │ ├── State/ │ │ │ │ ├── DurableAgentStateContentTests.cs │ │ │ │ ├── DurableAgentStateMessageTests.cs │ │ │ │ ├── DurableAgentStateRequestTests.cs │ │ │ │ ├── DurableAgentStateResponseTests.cs │ │ │ │ └── DurableAgentStateTests.cs │ │ │ └── Workflows/ │ │ │ ├── DurableActivityExecutorTests.cs │ │ │ ├── DurableStreamingWorkflowRunTests.cs │ │ │ ├── DurableWorkflowContextTests.cs │ │ │ └── WorkflowNamingHelperTests.cs │ │ ├── Microsoft.Agents.AI.FoundryMemory.IntegrationTests/ │ │ │ ├── FoundryMemoryProviderTests.cs │ │ │ └── Microsoft.Agents.AI.FoundryMemory.IntegrationTests.csproj │ │ ├── Microsoft.Agents.AI.FoundryMemory.UnitTests/ │ │ │ ├── FoundryMemoryProviderTests.cs │ │ │ ├── Microsoft.Agents.AI.FoundryMemory.UnitTests.csproj │ │ │ └── TestableAIProjectClient.cs │ │ ├── Microsoft.Agents.AI.GitHub.Copilot.IntegrationTests/ │ │ │ ├── GitHubCopilotAgentTests.cs │ │ │ └── Microsoft.Agents.AI.GitHub.Copilot.IntegrationTests.csproj │ │ ├── Microsoft.Agents.AI.GitHub.Copilot.UnitTests/ │ │ │ ├── CopilotClientExtensionsTests.cs │ │ │ ├── GitHubCopilotAgentTests.cs │ │ │ └── Microsoft.Agents.AI.GitHub.Copilot.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Hosting.A2A.UnitTests/ │ │ │ ├── A2AIntegrationTests.cs │ │ │ ├── AIAgentExtensionsTests.cs │ │ │ ├── Converters/ │ │ │ │ └── MessageConverterTests.cs │ │ │ ├── EndpointRouteA2ABuilderExtensionsTests.cs │ │ │ ├── Internal/ │ │ │ │ └── DummyChatClient.cs │ │ │ └── Microsoft.Agents.AI.Hosting.A2A.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.IntegrationTests/ │ │ │ ├── BasicStreamingTests.cs │ │ │ ├── ForwardedPropertiesTests.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.IntegrationTests.csproj │ │ │ ├── SharedStateTests.cs │ │ │ └── ToolCallingTests.cs │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.UnitTests/ │ │ │ ├── AGUIEndpointRouteBuilderExtensionsTests.cs │ │ │ ├── AGUIServerSentEventsResultTests.cs │ │ │ ├── ChatResponseUpdateAGUIExtensionsTests.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AGUI.AspNetCore.UnitTests.csproj │ │ │ └── TestHelpers.cs │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests/ │ │ │ ├── AzureFunctionsTestHelper.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions.IntegrationTests.csproj │ │ │ ├── SamplesValidation.cs │ │ │ └── WorkflowSamplesValidation.cs │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions.UnitTests/ │ │ │ ├── DurableAgentFunctionMetadataTransformerTests.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.AzureFunctions.UnitTests.csproj │ │ │ └── TestAgent.cs │ │ ├── Microsoft.Agents.AI.Hosting.OpenAI.UnitTests/ │ │ │ ├── AgentInvocationContextTests.cs │ │ │ ├── ConformanceTestBase.cs │ │ │ ├── ConformanceTraces/ │ │ │ │ ├── ChatCompletions/ │ │ │ │ │ ├── basic/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── function_calling/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── json_mode/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── multi_turn/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── streaming/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.txt │ │ │ │ │ ├── system_message/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ └── tools/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── Conversations/ │ │ │ │ │ ├── add_items/ │ │ │ │ │ │ ├── request.json │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── basic/ │ │ │ │ │ │ ├── create_conversation_request.json │ │ │ │ │ │ ├── create_conversation_response.json │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ ├── first_message_response.json │ │ │ │ │ │ ├── second_message_request.json │ │ │ │ │ │ └── second_message_response.json │ │ │ │ │ ├── basic_streaming/ │ │ │ │ │ │ └── first_message_response.txt │ │ │ │ │ ├── create_with_items/ │ │ │ │ │ │ ├── create_request.json │ │ │ │ │ │ └── create_response.json │ │ │ │ │ ├── delete_conversation/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── delete_item/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_conversation_not_found/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_delete_already_deleted/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_invalid_json/ │ │ │ │ │ │ ├── request.txt │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_invalid_limit/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_item_not_found/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── error_missing_required_field/ │ │ │ │ │ │ └── request.json │ │ │ │ │ ├── image_input/ │ │ │ │ │ │ ├── create_conversation_request.json │ │ │ │ │ │ ├── create_conversation_response.json │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ └── first_message_response.json │ │ │ │ │ ├── image_input_streaming/ │ │ │ │ │ │ ├── create_conversation_request.json │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ └── first_message_response.txt │ │ │ │ │ ├── list_items/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── refusal/ │ │ │ │ │ │ ├── create_conversation_response.json │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ └── first_message_response.json │ │ │ │ │ ├── refusal_streaming/ │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ └── first_message_response.txt │ │ │ │ │ ├── retrieve_conversation/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── retrieve_item/ │ │ │ │ │ │ └── response.json │ │ │ │ │ ├── tool_call/ │ │ │ │ │ │ ├── create_conversation_request.json │ │ │ │ │ │ ├── first_message_request.json │ │ │ │ │ │ └── first_message_response.json │ │ │ │ │ ├── tool_call_streaming/ │ │ │ │ │ │ └── first_message_request.json │ │ │ │ │ └── update_conversation/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ └── Responses/ │ │ │ │ ├── basic/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── conversation/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── image_input/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── image_input_streaming/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.txt │ │ │ │ ├── json_output/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── json_output_streaming/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.txt │ │ │ │ ├── metadata/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── mutual_exclusive_error/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── reasoning/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── reasoning_streaming/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.txt │ │ │ │ ├── refusal/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.json │ │ │ │ ├── refusal_streaming/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.txt │ │ │ │ ├── streaming/ │ │ │ │ │ ├── request.json │ │ │ │ │ └── response.txt │ │ │ │ └── tool_call/ │ │ │ │ ├── request.json │ │ │ │ └── response.json │ │ │ ├── ContentTypeEventGeneratorTests.cs │ │ │ ├── EndpointRouteBuilderExtensionsTests.cs │ │ │ ├── FunctionApprovalTests.cs │ │ │ ├── IdGeneratorTests.cs │ │ │ ├── InMemoryAgentConversationIndexTests.cs │ │ │ ├── InMemoryConversationStorageTests.cs │ │ │ ├── Microsoft.Agents.AI.Hosting.OpenAI.UnitTests.csproj │ │ │ ├── OpenAIChatCompletionsConformanceTests.cs │ │ │ ├── OpenAIChatCompletionsIntegrationTests.cs │ │ │ ├── OpenAIChatCompletionsSerializationTests.cs │ │ │ ├── OpenAIConversationsConformanceTests.cs │ │ │ ├── OpenAIConversationsSerializationTests.cs │ │ │ ├── OpenAIHttpApiIntegrationTests.cs │ │ │ ├── OpenAIResponsesAgentResolutionIntegrationTests.cs │ │ │ ├── OpenAIResponsesConformanceTests.cs │ │ │ ├── OpenAIResponsesIntegrationTests.cs │ │ │ ├── OpenAIResponsesSerializationTests.cs │ │ │ ├── SortOrderExtensionsTests.cs │ │ │ ├── StreamingEventConformanceTests.cs │ │ │ └── TestHelpers.cs │ │ ├── Microsoft.Agents.AI.Hosting.UnitTests/ │ │ │ ├── AgentHostingServiceCollectionExtensionsTests.cs │ │ │ ├── HostApplicationBuilderAgentExtensionsTests.cs │ │ │ ├── HostApplicationBuilderWorkflowExtensionsTests.cs │ │ │ ├── HostedAgentBuilderToolsExtensionsTests.cs │ │ │ └── Microsoft.Agents.AI.Hosting.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Mem0.IntegrationTests/ │ │ │ ├── Mem0ProviderTests.cs │ │ │ └── Microsoft.Agents.AI.Mem0.IntegrationTests.csproj │ │ ├── Microsoft.Agents.AI.Mem0.UnitTests/ │ │ │ ├── Mem0ProviderTests.cs │ │ │ └── Microsoft.Agents.AI.Mem0.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.OpenAI.UnitTests/ │ │ │ ├── ChatClient/ │ │ │ │ ├── AsyncStreamingChatCompletionUpdateCollectionResultTests.cs │ │ │ │ ├── AsyncStreamingResponseUpdateCollectionResultTests.cs │ │ │ │ └── StreamingUpdatePipelineResponseTests.cs │ │ │ ├── Extensions/ │ │ │ │ ├── AIAgentWithOpenAIExtensionsTests.cs │ │ │ │ ├── AgentResponseExtensionsTests.cs │ │ │ │ ├── OpenAIAssistantClientExtensionsTests.cs │ │ │ │ ├── OpenAIChatClientExtensionsTests.cs │ │ │ │ └── OpenAIResponseClientExtensionsTests.cs │ │ │ └── Microsoft.Agents.AI.OpenAI.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Purview.UnitTests/ │ │ │ ├── Microsoft.Agents.AI.Purview.UnitTests.csproj │ │ │ ├── PurviewClientTests.cs │ │ │ ├── PurviewWrapperTests.cs │ │ │ └── ScopedContentProcessorTests.cs │ │ ├── Microsoft.Agents.AI.UnitTests/ │ │ │ ├── AIAgentBuilderTests.cs │ │ │ ├── AIContextProviderDecorators/ │ │ │ │ ├── AIContextProviderChatClientTests.cs │ │ │ │ └── MessageAIContextProviderAgentTests.cs │ │ │ ├── AgentExtensionsTests.cs │ │ │ ├── AgentJsonUtilitiesTests.cs │ │ │ ├── AgentSkills/ │ │ │ │ ├── FileAgentSkillLoaderTests.cs │ │ │ │ └── FileAgentSkillsProviderTests.cs │ │ │ ├── AnonymousDelegatingAIAgentTests.cs │ │ │ ├── ChatClient/ │ │ │ │ ├── ChatClientAgentContinuationTokenTests.cs │ │ │ │ ├── ChatClientAgentOptionsTests.cs │ │ │ │ ├── ChatClientAgentRunOptionsTests.cs │ │ │ │ ├── ChatClientAgentSessionTests.cs │ │ │ │ ├── ChatClientAgentTests.cs │ │ │ │ ├── ChatClientAgent_BackgroundResponsesTests.cs │ │ │ │ ├── ChatClientAgent_ChatHistoryManagementTests.cs │ │ │ │ ├── ChatClientAgent_ChatOptionsMergingTests.cs │ │ │ │ ├── ChatClientAgent_CreateSessionTests.cs │ │ │ │ ├── ChatClientAgent_RunWithCustomOptionsTests.cs │ │ │ │ ├── ChatClientAgent_StructuredOutput_WithFormatResponseTests.cs │ │ │ │ ├── ChatClientAgent_StructuredOutput_WithRunAsyncTests.cs │ │ │ │ ├── ChatClientBuilderExtensionsTests.cs │ │ │ │ └── ChatClientExtensionsTests.cs │ │ │ ├── Compaction/ │ │ │ │ ├── ChatMessageContentEqualityTests.cs │ │ │ │ ├── ChatReducerCompactionStrategyTests.cs │ │ │ │ ├── ChatStrategyExtensionsTests.cs │ │ │ │ ├── CompactionMessageIndexTests.cs │ │ │ │ ├── CompactionProviderTests.cs │ │ │ │ ├── CompactionStrategyTests.cs │ │ │ │ ├── CompactionTriggersTests.cs │ │ │ │ ├── PipelineCompactionStrategyTests.cs │ │ │ │ ├── SlidingWindowCompactionStrategyTests.cs │ │ │ │ ├── SummarizationCompactionStrategyTests.cs │ │ │ │ ├── ToolResultCompactionStrategyTests.cs │ │ │ │ └── TruncationCompactionStrategyTests.cs │ │ │ ├── CopilotStudioAgentTests.cs │ │ │ ├── Data/ │ │ │ │ └── TextSearchProviderTests.cs │ │ │ ├── FunctionInvocationDelegatingAgentTests.cs │ │ │ ├── LoggingAgentBuilderExtensionsTests.cs │ │ │ ├── LoggingAgentTests.cs │ │ │ ├── Memory/ │ │ │ │ └── ChatHistoryMemoryProviderTests.cs │ │ │ ├── Microsoft.Agents.AI.UnitTests.csproj │ │ │ ├── Models/ │ │ │ │ ├── Animal.cs │ │ │ │ └── Species.cs │ │ │ ├── OpenTelemetryAgentBuilderExtensionsTests.cs │ │ │ ├── OpenTelemetryAgentTests.cs │ │ │ ├── TestAIAgent.cs │ │ │ └── TestJsonSerializerContext.cs │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests/ │ │ │ ├── Agents/ │ │ │ │ ├── AgentProvider.cs │ │ │ │ ├── FunctionToolAgentProvider.cs │ │ │ │ ├── MarketingAgentProvider.cs │ │ │ │ ├── MathChatAgentProvider.cs │ │ │ │ ├── MenuPlugin.cs │ │ │ │ ├── PoemAgentProvider.cs │ │ │ │ ├── TestAgentProvider.cs │ │ │ │ └── VisionAgentProvider.cs │ │ │ ├── AzureAgentProviderTest.cs │ │ │ ├── DeclarativeCodeGenTest.cs │ │ │ ├── DeclarativeWorkflowTest.cs │ │ │ ├── Framework/ │ │ │ │ ├── IntegrationTest.cs │ │ │ │ ├── TestOutputAdapter.cs │ │ │ │ ├── Testcase.cs │ │ │ │ ├── WorkflowEvents.cs │ │ │ │ ├── WorkflowHarness.cs │ │ │ │ └── WorkflowTest.cs │ │ │ ├── FunctionCallingWorkflowTest.cs │ │ │ ├── InvokeToolWorkflowTest.cs │ │ │ ├── MediaInputTest.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests.csproj │ │ │ ├── Testcases/ │ │ │ │ ├── CheckSystem.json │ │ │ │ ├── ConfirmInput.json │ │ │ │ ├── ConversationMessages.json │ │ │ │ ├── DeepResearch.json │ │ │ │ ├── HumanInLoop.json │ │ │ │ ├── InputArguments.json │ │ │ │ ├── InvokeAgent.json │ │ │ │ ├── Marketing.json │ │ │ │ ├── MathChat.json │ │ │ │ ├── RequestExternalInput.json │ │ │ │ └── SendActivity.json │ │ │ └── Workflows/ │ │ │ ├── CheckSystem.yaml │ │ │ ├── ConfirmInput.yaml │ │ │ ├── ConversationMessages.yaml │ │ │ ├── FunctionTool.yaml │ │ │ ├── InputArguments.yaml │ │ │ ├── InvokeAgent.yaml │ │ │ ├── InvokeFunctionTool.yaml │ │ │ ├── InvokeFunctionToolWithApproval.yaml │ │ │ ├── InvokeMcpTool.yaml │ │ │ ├── InvokeMcpToolWithApproval.yaml │ │ │ ├── MediaInputAutoSend.yaml │ │ │ ├── MediaInputConversation.yaml │ │ │ ├── RequestExternalInput.yaml │ │ │ └── SendActivity.yaml │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.Mcp.UnitTests/ │ │ │ ├── DefaultMcpToolHandlerTests.cs │ │ │ └── Microsoft.Agents.AI.Workflows.Declarative.Mcp.UnitTests.csproj │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.UnitTests/ │ │ │ ├── CodeGen/ │ │ │ │ ├── AddConversationMessageTemplateTest.cs │ │ │ │ ├── BreakLoopTemplateTest.cs │ │ │ │ ├── ClearAllVariablesTemplateTest.cs │ │ │ │ ├── ConditionGroupTemplateTest.cs │ │ │ │ ├── ContinueLoopTemplateTest.cs │ │ │ │ ├── CopyConversationMessagesTemplateTest.cs │ │ │ │ ├── CreateConversationTemplateTest.cs │ │ │ │ ├── DeclarativeEjectionTest.cs │ │ │ │ ├── EdgeTemplateTest.cs │ │ │ │ ├── EndConversationTest.cs │ │ │ │ ├── EndDialogTest.cs │ │ │ │ ├── ForeachTemplateTest.cs │ │ │ │ ├── GotoTemplateTest.cs │ │ │ │ ├── InvokeAzureAgentTemplateTest.cs │ │ │ │ ├── ProviderTemplateTest.cs │ │ │ │ ├── ResetVariableTemplateTest.cs │ │ │ │ ├── RetrieveConversationMessageTemplateTest.cs │ │ │ │ ├── RetrieveConversationMessagesTemplateTest.cs │ │ │ │ ├── SetMultipleVariablesTemplateTest.cs │ │ │ │ ├── SetTextVariableTemplateTest.cs │ │ │ │ ├── SetVariableTemplateTest.cs │ │ │ │ └── WorkflowActionTemplateTest.cs │ │ │ ├── DeclarativeWorkflowContextTest.cs │ │ │ ├── DeclarativeWorkflowExceptionTest.cs │ │ │ ├── DeclarativeWorkflowOptionsTest.cs │ │ │ ├── DeclarativeWorkflowTest.cs │ │ │ ├── Entities/ │ │ │ │ ├── EntityExtractionResultTest.cs │ │ │ │ └── EntityExtractorTest.cs │ │ │ ├── Events/ │ │ │ │ ├── EventTest.cs │ │ │ │ ├── ExternalInputRequestTest.cs │ │ │ │ └── ExternalInputResponseTest.cs │ │ │ ├── Extensions/ │ │ │ │ ├── ChatMessageExtensionsTests.cs │ │ │ │ ├── DataValueExtensionsTests.cs │ │ │ │ ├── DeclarativeWorkflowOptionsExtensionsTests.cs │ │ │ │ ├── DialogBaseExtensionsTests.cs │ │ │ │ ├── ExpandoObjectExtensionsTests.cs │ │ │ │ ├── FormulaValueExtensionsTests.cs │ │ │ │ ├── JsonDocumentExtensionsTests.cs │ │ │ │ ├── ObjectExtensionsTests.cs │ │ │ │ ├── PortableValueExtensionsTests.cs │ │ │ │ ├── StringExtensionsTests.cs │ │ │ │ ├── TemplateExtensionsTests.cs │ │ │ │ └── TypeExtensionsTests.cs │ │ │ ├── Interpreter/ │ │ │ │ └── WorkflowModelTest.cs │ │ │ ├── Kit/ │ │ │ │ └── VariableTypeTests.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.Declarative.UnitTests.csproj │ │ │ ├── MockAgentProvider.cs │ │ │ ├── ObjectModel/ │ │ │ │ ├── AddConversationMessageExecutorTest.cs │ │ │ │ ├── ClearAllVariablesExecutorTest.cs │ │ │ │ ├── ConditionGroupExecutorTest.cs │ │ │ │ ├── CopyConversationMessagesExecutorTest.cs │ │ │ │ ├── CreateConversationExecutorTest.cs │ │ │ │ ├── DefaultActionExecutorTest.cs │ │ │ │ ├── EditTableExecutorTest.cs │ │ │ │ ├── EditTableV2ExecutorTest.cs │ │ │ │ ├── ForeachExecutorTest.cs │ │ │ │ ├── InvokeFunctionToolExecutorTest.cs │ │ │ │ ├── InvokeMcpToolExecutorTest.cs │ │ │ │ ├── ParseValueExecutorTest.cs │ │ │ │ ├── QuestionExecutorTest.cs │ │ │ │ ├── RequestExternalInputExecutorTest.cs │ │ │ │ ├── ResetVariableExecutorTest.cs │ │ │ │ ├── RetrieveConversationMessageExecutorTest.cs │ │ │ │ ├── RetrieveConversationMessagesExecutorTest.cs │ │ │ │ ├── SendActivityExecutorTest.cs │ │ │ │ ├── SetMultipleVariablesExecutorTest.cs │ │ │ │ ├── SetTextVariableExecutorTest.cs │ │ │ │ ├── SetVariableExecutorTest.cs │ │ │ │ └── WorkflowActionExecutorTest.cs │ │ │ ├── PowerFx/ │ │ │ │ ├── Functions/ │ │ │ │ │ ├── AgentMessageTests.cs │ │ │ │ │ ├── MessageTextTests.cs │ │ │ │ │ └── UserMessageTests.cs │ │ │ │ ├── RecalcEngineFactoryTests.cs │ │ │ │ ├── RecalcEngineTest.cs │ │ │ │ ├── TemplateExtensionsTests.cs │ │ │ │ ├── WorkflowExpressionEngineTests.cs │ │ │ │ └── WorkflowFormulaStateTests.cs │ │ │ ├── TestOutputAdapter.cs │ │ │ ├── UpdateBaseline.ps1 │ │ │ ├── WorkflowTest.cs │ │ │ └── Workflows/ │ │ │ ├── AddConversationMessage.cs │ │ │ ├── AddConversationMessage.yaml │ │ │ ├── BadEmpty.yaml │ │ │ ├── BadId.yaml │ │ │ ├── BadKind.yaml │ │ │ ├── CancelWorkflow.cs │ │ │ ├── CancelWorkflow.yaml │ │ │ ├── CaseInsensitive.yaml │ │ │ ├── ClearAllVariables.cs │ │ │ ├── ClearAllVariables.yaml │ │ │ ├── Condition.cs │ │ │ ├── Condition.yaml │ │ │ ├── ConditionElse.cs │ │ │ ├── ConditionElse.yaml │ │ │ ├── ConditionFallThrough.yaml │ │ │ ├── CopyConversationMessages.cs │ │ │ ├── CopyConversationMessages.yaml │ │ │ ├── CreateConversation.cs │ │ │ ├── CreateConversation.yaml │ │ │ ├── EditTable.cs │ │ │ ├── EditTable.yaml │ │ │ ├── EditTableV2.cs │ │ │ ├── EditTableV2.yaml │ │ │ ├── EndConversation.cs │ │ │ ├── EndConversation.yaml │ │ │ ├── EndWorkflow.cs │ │ │ ├── EndWorkflow.yaml │ │ │ ├── Goto.cs │ │ │ ├── Goto.yaml │ │ │ ├── InvokeAgent.cs │ │ │ ├── InvokeAgent.yaml │ │ │ ├── LoopBreak.cs │ │ │ ├── LoopBreak.yaml │ │ │ ├── LoopContinue.cs │ │ │ ├── LoopContinue.yaml │ │ │ ├── LoopEach.cs │ │ │ ├── LoopEach.yaml │ │ │ ├── MixedScopes.yaml │ │ │ ├── ParseValue.cs │ │ │ ├── ParseValue.yaml │ │ │ ├── ParseValueList.yaml │ │ │ ├── ResetVariable.cs │ │ │ ├── ResetVariable.yaml │ │ │ ├── RetrieveConversationMessage.cs │ │ │ ├── RetrieveConversationMessage.yaml │ │ │ ├── RetrieveConversationMessages.cs │ │ │ ├── RetrieveConversationMessages.yaml │ │ │ ├── SendActivity.cs │ │ │ ├── SendActivity.yaml │ │ │ ├── SetTextVariable.cs │ │ │ ├── SetTextVariable.yaml │ │ │ ├── SetVariable.cs │ │ │ └── SetVariable.yaml │ │ ├── Microsoft.Agents.AI.Workflows.Generators.UnitTests/ │ │ │ ├── ExecutorRouteGeneratorTests.cs │ │ │ ├── GeneratorTestHelper.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.Generators.UnitTests.csproj │ │ │ └── SyntaxTreeFluentExtensions.cs │ │ ├── Microsoft.Agents.AI.Workflows.UnitTests/ │ │ │ ├── AIAgentHostExecutorTests.cs │ │ │ ├── AgentEventsTests.cs │ │ │ ├── AgentWorkflowBuilderTests.cs │ │ │ ├── ChatMessageBuilder.cs │ │ │ ├── ChatProtocolExecutorTests.cs │ │ │ ├── CheckpointParentTests.cs │ │ │ ├── DynamicPortsExecutor.cs │ │ │ ├── DynamicRequestPortTests.cs │ │ │ ├── EdgeMapSmokeTests.cs │ │ │ ├── EdgeRunnerTests.cs │ │ │ ├── ExecutionExtensions.cs │ │ │ ├── FileSystemJsonCheckpointStoreTests.cs │ │ │ ├── ForwardMessageExecutor.cs │ │ │ ├── InMemoryJsonStore.cs │ │ │ ├── InProcessExecutionTests.cs │ │ │ ├── InProcessStateTests.cs │ │ │ ├── JsonSerializationTests.cs │ │ │ ├── MessageDeliveryValidation.cs │ │ │ ├── MessageMergerTests.cs │ │ │ ├── Microsoft.Agents.AI.Workflows.UnitTests.csproj │ │ │ ├── ObservabilityTests.cs │ │ │ ├── PolymorphicOutputTests.cs │ │ │ ├── PortableValueTests.cs │ │ │ ├── ReflectionSmokeTest.cs │ │ │ ├── RepresentationTests.cs │ │ │ ├── RoleCheckAgent.cs │ │ │ ├── Sample/ │ │ │ │ ├── 01_Simple_Workflow_Sequential.cs │ │ │ │ ├── 01a_Simple_Workflow_Sequential.cs │ │ │ │ ├── 02_Simple_Workflow_Condition.cs │ │ │ │ ├── 03_Simple_Workflow_Loop.cs │ │ │ │ ├── 04_Simple_Workflow_ExternalRequest.cs │ │ │ │ ├── 05_Simple_Workflow_Checkpointing.cs │ │ │ │ ├── 06_GroupChat_Workflow.cs │ │ │ │ ├── 07_GroupChat_Workflow_HostAsAgent.cs │ │ │ │ ├── 08_Subworkflow_Simple.cs │ │ │ │ ├── 09_Subworkflow_ExternalRequest.cs │ │ │ │ ├── 10_Sequential_HostAsAgent.cs │ │ │ │ ├── 11_Concurrent_HostAsAgent.cs │ │ │ │ ├── 12_HandOff_HostAsAgent.cs │ │ │ │ ├── 13_Subworkflow_Checkpointing.cs │ │ │ │ └── 14_Subworkflow_SharedState.cs │ │ │ ├── SampleJsonContext.cs │ │ │ ├── SampleSmokeTest.cs │ │ │ ├── SpecializedExecutorSmokeTests.cs │ │ │ ├── StateKeyObjectTests.cs │ │ │ ├── StateManagerTests.cs │ │ │ ├── StreamingAggregatorsTests.cs │ │ │ ├── SubstitutionVisitor.cs │ │ │ ├── TestEchoAgent.cs │ │ │ ├── TestJsonContext.cs │ │ │ ├── TestJsonSerializable.cs │ │ │ ├── TestReplayAgent.cs │ │ │ ├── TestRequestAgent.cs │ │ │ ├── TestRunContext.cs │ │ │ ├── TestRunState.cs │ │ │ ├── TestWorkflowContext.cs │ │ │ ├── TestingExecutor.cs │ │ │ ├── ValidationExtensions.cs │ │ │ ├── WorkflowBuilderSmokeTests.cs │ │ │ ├── WorkflowHostSmokeTests.cs │ │ │ ├── WorkflowRunActivityStopTests.cs │ │ │ └── WorkflowVisualizerTests.cs │ │ ├── OpenAIAssistant.IntegrationTests/ │ │ │ ├── OpenAIAssistant.IntegrationTests.csproj │ │ │ ├── OpenAIAssistantChatClientAgentRunStreamingTests.cs │ │ │ ├── OpenAIAssistantChatClientAgentRunTests.cs │ │ │ ├── OpenAIAssistantClientExtensionsTests.cs │ │ │ ├── OpenAIAssistantFixture.cs │ │ │ ├── OpenAIAssistantIRunTests.cs │ │ │ ├── OpenAIAssistantRunStreamingTests.cs │ │ │ └── OpenAIAssistantStructuredOutputRunTests.cs │ │ ├── OpenAIChatCompletion.IntegrationTests/ │ │ │ ├── OpenAIChatCompletion.IntegrationTests.csproj │ │ │ ├── OpenAIChatCompletionChatClientAgentRunStreamingTests.cs │ │ │ ├── OpenAIChatCompletionChatClientAgentRunTests.cs │ │ │ ├── OpenAIChatCompletionFixture.cs │ │ │ ├── OpenAIChatCompletionRunStreamingTests.cs │ │ │ ├── OpenAIChatCompletionRunTests.cs │ │ │ └── OpenAIChatCompletionStructuredOutputRunTests.cs │ │ ├── OpenAIResponse.IntegrationTests/ │ │ │ ├── OpenAIResponse.IntegrationTests.csproj │ │ │ ├── OpenAIResponseChatClientAgentRunStreamingTests.cs │ │ │ ├── OpenAIResponseChatClientAgentRunTests.cs │ │ │ ├── OpenAIResponseFixture.cs │ │ │ ├── OpenAIResponseRunStreamingTests.cs │ │ │ ├── OpenAIResponseRunTests.cs │ │ │ └── OpenAIResponseStructuredOutputRunTests.cs │ │ └── coverage.runsettings │ ├── wf-code-gen-impact.md │ ├── wf-source-gen-bp.md │ └── wf-source-gen-changes.md ├── python/ │ ├── .cspell.json │ ├── .github/ │ │ ├── instructions/ │ │ │ └── python.instructions.md │ │ └── skills/ │ │ ├── python-code-quality/ │ │ │ └── SKILL.md │ │ ├── python-development/ │ │ │ └── SKILL.md │ │ ├── python-package-management/ │ │ │ └── SKILL.md │ │ ├── python-samples/ │ │ │ └── SKILL.md │ │ └── python-testing/ │ │ └── SKILL.md │ ├── .pre-commit-config.yaml │ ├── .vscode/ │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ ├── AGENTS.md │ ├── CHANGELOG.md │ ├── CODING_STANDARD.md │ ├── DEV_SETUP.md │ ├── LICENSE │ ├── README.md │ ├── agent_framework_meta/ │ │ └── __init__.py │ ├── devsetup.sh │ ├── packages/ │ │ ├── a2a/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_a2a/ │ │ │ │ ├── __init__.py │ │ │ │ └── _agent.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── test_a2a_agent.py │ │ ├── ag-ui/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_ag_ui/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _agent.py │ │ │ │ ├── _agent_run.py │ │ │ │ ├── _client.py │ │ │ │ ├── _endpoint.py │ │ │ │ ├── _event_converters.py │ │ │ │ ├── _http_service.py │ │ │ │ ├── _message_adapters.py │ │ │ │ ├── _orchestration/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _helpers.py │ │ │ │ │ ├── _predictive_state.py │ │ │ │ │ └── _tooling.py │ │ │ │ ├── _run_common.py │ │ │ │ ├── _types.py │ │ │ │ ├── _utils.py │ │ │ │ ├── _workflow.py │ │ │ │ ├── _workflow_run.py │ │ │ │ └── py.typed │ │ │ ├── agent_framework_ag_ui_examples/ │ │ │ │ ├── .vscode/ │ │ │ │ │ └── settings.json │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── agents/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── document_writer_agent.py │ │ │ │ │ ├── human_in_the_loop_agent.py │ │ │ │ │ ├── recipe_agent.py │ │ │ │ │ ├── research_assistant_agent.py │ │ │ │ │ ├── simple_agent.py │ │ │ │ │ ├── subgraphs_agent.py │ │ │ │ │ ├── task_planner_agent.py │ │ │ │ │ ├── task_steps_agent.py │ │ │ │ │ ├── ui_generator_agent.py │ │ │ │ │ └── weather_agent.py │ │ │ │ └── server/ │ │ │ │ ├── __init__.py │ │ │ │ ├── api/ │ │ │ │ │ └── backend_tool_rendering.py │ │ │ │ └── main.py │ │ │ ├── getting_started/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── client_advanced.py │ │ │ │ ├── client_with_agent.py │ │ │ │ └── server.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── ag_ui/ │ │ │ ├── conftest.py │ │ │ ├── event_stream.py │ │ │ ├── golden/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── test_scenario_agentic_chat.py │ │ │ │ ├── test_scenario_backend_tools.py │ │ │ │ ├── test_scenario_generative_ui_agent.py │ │ │ │ ├── test_scenario_generative_ui_tool.py │ │ │ │ ├── test_scenario_hitl.py │ │ │ │ ├── test_scenario_predictive_state.py │ │ │ │ ├── test_scenario_shared_state.py │ │ │ │ ├── test_scenario_subgraphs.py │ │ │ │ └── test_scenario_workflow.py │ │ │ ├── sse_helpers.py │ │ │ ├── test_ag_ui_client.py │ │ │ ├── test_agent_wrapper_comprehensive.py │ │ │ ├── test_approval_result_event.py │ │ │ ├── test_endpoint.py │ │ │ ├── test_event_converters.py │ │ │ ├── test_helpers.py │ │ │ ├── test_http_round_trip.py │ │ │ ├── test_http_service.py │ │ │ ├── test_message_adapters.py │ │ │ ├── test_message_hygiene.py │ │ │ ├── test_multi_turn.py │ │ │ ├── test_predictive_state.py │ │ │ ├── test_public_exports.py │ │ │ ├── test_run.py │ │ │ ├── test_run_common.py │ │ │ ├── test_service_thread_id.py │ │ │ ├── test_structured_output.py │ │ │ ├── test_subgraphs_example_agent.py │ │ │ ├── test_tooling.py │ │ │ ├── test_types.py │ │ │ ├── test_utils.py │ │ │ ├── test_workflow_agent.py │ │ │ └── test_workflow_run.py │ │ ├── anthropic/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_anthropic/ │ │ │ │ ├── __init__.py │ │ │ │ └── _chat_client.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── conftest.py │ │ │ └── test_anthropic_client.py │ │ ├── azure-ai/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_azure_ai/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _agent_provider.py │ │ │ │ ├── _chat_client.py │ │ │ │ ├── _client.py │ │ │ │ ├── _embedding_client.py │ │ │ │ ├── _foundry_memory_provider.py │ │ │ │ ├── _project_provider.py │ │ │ │ ├── _shared.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── azure_ai/ │ │ │ │ └── test_azure_ai_inference_embedding_client.py │ │ │ ├── conftest.py │ │ │ ├── test_agent_provider.py │ │ │ ├── test_azure_ai_agent_client.py │ │ │ ├── test_azure_ai_client.py │ │ │ ├── test_foundry_memory_provider.py │ │ │ ├── test_provider.py │ │ │ └── test_shared.py │ │ ├── azure-ai-search/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_azure_ai_search/ │ │ │ │ ├── __init__.py │ │ │ │ └── _context_provider.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── test_aisearch_context_provider.py │ │ ├── azure-cosmos/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_azure_cosmos/ │ │ │ │ ├── __init__.py │ │ │ │ └── _history_provider.py │ │ │ ├── pyproject.toml │ │ │ ├── samples/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ └── cosmos_history_provider.py │ │ │ └── tests/ │ │ │ └── test_cosmos_history_provider.py │ │ ├── azurefunctions/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_azurefunctions/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _app.py │ │ │ │ ├── _context.py │ │ │ │ ├── _entities.py │ │ │ │ ├── _errors.py │ │ │ │ ├── _orchestration.py │ │ │ │ ├── _serialization.py │ │ │ │ ├── _workflow.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── integration_tests/ │ │ │ │ ├── README.md │ │ │ │ ├── conftest.py │ │ │ │ ├── test_01_single_agent.py │ │ │ │ ├── test_02_multi_agent.py │ │ │ │ ├── test_03_reliable_streaming.py │ │ │ │ ├── test_04_single_agent_orchestration_chaining.py │ │ │ │ ├── test_05_multi_agent_orchestration_concurrency.py │ │ │ │ ├── test_06_multi_agent_orchestration_conditionals.py │ │ │ │ ├── test_07_single_agent_orchestration_hitl.py │ │ │ │ ├── test_09_workflow_shared_state.py │ │ │ │ ├── test_10_workflow_no_shared_state.py │ │ │ │ ├── test_11_workflow_parallel.py │ │ │ │ └── test_12_workflow_hitl.py │ │ │ ├── test_app.py │ │ │ ├── test_entities.py │ │ │ ├── test_errors.py │ │ │ ├── test_func_utils.py │ │ │ ├── test_multi_agent.py │ │ │ ├── test_orchestration.py │ │ │ └── test_workflow.py │ │ ├── bedrock/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_bedrock/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _chat_client.py │ │ │ │ └── _embedding_client.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── bedrock/ │ │ │ │ └── test_bedrock_embedding_client.py │ │ │ ├── test_bedrock_client.py │ │ │ └── test_bedrock_settings.py │ │ ├── chatkit/ │ │ │ ├── .gitignore │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_chatkit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _converter.py │ │ │ │ ├── _streaming.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── test_converter.py │ │ │ └── test_streaming.py │ │ ├── claude/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_claude/ │ │ │ │ ├── __init__.py │ │ │ │ └── _agent.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── test_claude_agent.py │ │ ├── copilotstudio/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_copilotstudio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _acquire_token.py │ │ │ │ └── _agent.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── conftest.py │ │ │ ├── test_acquire_token.py │ │ │ └── test_copilot_agent.py │ │ ├── core/ │ │ │ ├── .vscode/ │ │ │ │ └── launch.json │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _agents.py │ │ │ │ ├── _clients.py │ │ │ │ ├── _compaction.py │ │ │ │ ├── _docstrings.py │ │ │ │ ├── _mcp.py │ │ │ │ ├── _middleware.py │ │ │ │ ├── _serialization.py │ │ │ │ ├── _sessions.py │ │ │ │ ├── _settings.py │ │ │ │ ├── _skills.py │ │ │ │ ├── _telemetry.py │ │ │ │ ├── _tools.py │ │ │ │ ├── _types.py │ │ │ │ ├── _workflows/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _agent.py │ │ │ │ │ ├── _agent_executor.py │ │ │ │ │ ├── _agent_utils.py │ │ │ │ │ ├── _checkpoint.py │ │ │ │ │ ├── _checkpoint_encoding.py │ │ │ │ │ ├── _const.py │ │ │ │ │ ├── _conversation_history.py │ │ │ │ │ ├── _edge.py │ │ │ │ │ ├── _edge_runner.py │ │ │ │ │ ├── _events.py │ │ │ │ │ ├── _executor.py │ │ │ │ │ ├── _function_executor.py │ │ │ │ │ ├── _message_utils.py │ │ │ │ │ ├── _model_utils.py │ │ │ │ │ ├── _request_info_mixin.py │ │ │ │ │ ├── _runner.py │ │ │ │ │ ├── _runner_context.py │ │ │ │ │ ├── _state.py │ │ │ │ │ ├── _typing_utils.py │ │ │ │ │ ├── _validation.py │ │ │ │ │ ├── _viz.py │ │ │ │ │ ├── _workflow.py │ │ │ │ │ ├── _workflow_builder.py │ │ │ │ │ ├── _workflow_context.py │ │ │ │ │ └── _workflow_executor.py │ │ │ │ ├── a2a/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── ag_ui/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── amazon/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── azure/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── _assistants_client.py │ │ │ │ │ ├── _chat_client.py │ │ │ │ │ ├── _embedding_client.py │ │ │ │ │ ├── _entra_id_authentication.py │ │ │ │ │ ├── _responses_client.py │ │ │ │ │ └── _shared.py │ │ │ │ ├── chatkit/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── declarative/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── devui/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── exceptions.py │ │ │ │ ├── github/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── lab/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── mem0/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── microsoft/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── observability.py │ │ │ │ ├── ollama/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── openai/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _assistant_provider.py │ │ │ │ │ ├── _assistants_client.py │ │ │ │ │ ├── _chat_client.py │ │ │ │ │ ├── _embedding_client.py │ │ │ │ │ ├── _exceptions.py │ │ │ │ │ ├── _responses_client.py │ │ │ │ │ └── _shared.py │ │ │ │ ├── orchestrations/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── py.typed │ │ │ │ └── redis/ │ │ │ │ ├── __init__.py │ │ │ │ └── __init__.pyi │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ ├── azure/ │ │ │ │ ├── conftest.py │ │ │ │ ├── test_azure_assistants_client.py │ │ │ │ ├── test_azure_chat_client.py │ │ │ │ ├── test_azure_embedding_client.py │ │ │ │ ├── test_azure_responses_client.py │ │ │ │ └── test_entra_id_authentication.py │ │ │ ├── conftest.py │ │ │ ├── core/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── test_agents.py │ │ │ │ ├── test_as_tool_kwargs_propagation.py │ │ │ │ ├── test_clients.py │ │ │ │ ├── test_compaction.py │ │ │ │ ├── test_docstrings.py │ │ │ │ ├── test_embedding_client.py │ │ │ │ ├── test_embedding_types.py │ │ │ │ ├── test_function_invocation_logic.py │ │ │ │ ├── test_kwargs_propagation_to_ai_function.py │ │ │ │ ├── test_mcp.py │ │ │ │ ├── test_middleware.py │ │ │ │ ├── test_middleware_context_result.py │ │ │ │ ├── test_middleware_with_agent.py │ │ │ │ ├── test_middleware_with_chat.py │ │ │ │ ├── test_observability.py │ │ │ │ ├── test_serializable_mixin.py │ │ │ │ ├── test_sessions.py │ │ │ │ ├── test_settings.py │ │ │ │ ├── test_skills.py │ │ │ │ ├── test_telemetry.py │ │ │ │ ├── test_tools.py │ │ │ │ ├── test_types.py │ │ │ │ └── utils.py │ │ │ ├── openai/ │ │ │ │ ├── conftest.py │ │ │ │ ├── test_assistant_provider.py │ │ │ │ ├── test_openai_assistants_client.py │ │ │ │ ├── test_openai_chat_client.py │ │ │ │ ├── test_openai_chat_client_base.py │ │ │ │ ├── test_openai_embedding_client.py │ │ │ │ └── test_openai_responses_client.py │ │ │ └── workflow/ │ │ │ ├── __init__.py │ │ │ ├── test_agent_executor.py │ │ │ ├── test_agent_executor_tool_calls.py │ │ │ ├── test_agent_run_event_typing.py │ │ │ ├── test_agent_utils.py │ │ │ ├── test_checkpoint.py │ │ │ ├── test_checkpoint_decode.py │ │ │ ├── test_checkpoint_encode.py │ │ │ ├── test_checkpoint_validation.py │ │ │ ├── test_edge.py │ │ │ ├── test_executor.py │ │ │ ├── test_executor_future.py │ │ │ ├── test_full_conversation.py │ │ │ ├── test_function_executor.py │ │ │ ├── test_function_executor_future.py │ │ │ ├── test_request_info_and_response.py │ │ │ ├── test_request_info_event_rehydrate.py │ │ │ ├── test_request_info_mixin.py │ │ │ ├── test_runner.py │ │ │ ├── test_serialization.py │ │ │ ├── test_state.py │ │ │ ├── test_sub_workflow.py │ │ │ ├── test_typing_utils.py │ │ │ ├── test_validation.py │ │ │ ├── test_viz.py │ │ │ ├── test_workflow.py │ │ │ ├── test_workflow_agent.py │ │ │ ├── test_workflow_builder.py │ │ │ ├── test_workflow_context.py │ │ │ ├── test_workflow_kwargs.py │ │ │ ├── test_workflow_observability.py │ │ │ └── test_workflow_states.py │ │ ├── declarative/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_declarative/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _loader.py │ │ │ │ ├── _models.py │ │ │ │ └── _workflows/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _declarative_base.py │ │ │ │ ├── _declarative_builder.py │ │ │ │ ├── _executors_agents.py │ │ │ │ ├── _executors_basic.py │ │ │ │ ├── _executors_control_flow.py │ │ │ │ ├── _executors_external_input.py │ │ │ │ ├── _executors_tools.py │ │ │ │ ├── _factory.py │ │ │ │ ├── _powerfx_functions.py │ │ │ │ └── _state.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── conftest.py │ │ │ ├── test_declarative_loader.py │ │ │ ├── test_declarative_models.py │ │ │ ├── test_function_tool_executor.py │ │ │ ├── test_graph_coverage.py │ │ │ ├── test_graph_executors.py │ │ │ ├── test_graph_workflow_integration.py │ │ │ ├── test_powerfx_functions.py │ │ │ ├── test_powerfx_yaml_compatibility.py │ │ │ ├── test_workflow_factory.py │ │ │ ├── test_workflow_samples_integration.py │ │ │ └── test_workflow_state.py │ │ ├── devui/ │ │ │ ├── .gitignore │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_devui/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _cli.py │ │ │ │ ├── _conversations.py │ │ │ │ ├── _deployment.py │ │ │ │ ├── _discovery.py │ │ │ │ ├── _executor.py │ │ │ │ ├── _mapper.py │ │ │ │ ├── _openai/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── _executor.py │ │ │ │ ├── _server.py │ │ │ │ ├── _session.py │ │ │ │ ├── _tracing.py │ │ │ │ ├── _utils.py │ │ │ │ ├── models/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _discovery_models.py │ │ │ │ │ └── _openai_custom.py │ │ │ │ └── ui/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.js │ │ │ │ └── index.html │ │ │ ├── dev.md │ │ │ ├── frontend/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── components.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── App.css │ │ │ │ │ ├── App.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ ├── agent/ │ │ │ │ │ │ │ │ ├── agent-details-modal.tsx │ │ │ │ │ │ │ │ ├── agent-view.tsx │ │ │ │ │ │ │ │ ├── context-inspector.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── message-renderers/ │ │ │ │ │ │ │ │ ├── OpenAIContentRenderer.tsx │ │ │ │ │ │ │ │ ├── OpenAIMessageRenderer.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── gallery/ │ │ │ │ │ │ │ │ ├── gallery-view.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── setup-instructions-modal.tsx │ │ │ │ │ │ │ └── workflow/ │ │ │ │ │ │ │ ├── checkpoint-info-modal.tsx │ │ │ │ │ │ │ ├── execution-timeline.tsx │ │ │ │ │ │ │ ├── executor-node.tsx │ │ │ │ │ │ │ ├── hil-timeline-item.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── run-workflow-button.tsx │ │ │ │ │ │ │ ├── schema-form-renderer.tsx │ │ │ │ │ │ │ ├── self-loop-edge.tsx │ │ │ │ │ │ │ ├── workflow-details-modal.tsx │ │ │ │ │ │ │ ├── workflow-flow.tsx │ │ │ │ │ │ │ ├── workflow-input-form.tsx │ │ │ │ │ │ │ ├── workflow-session-manager.tsx │ │ │ │ │ │ │ └── workflow-view.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── app-header.tsx │ │ │ │ │ │ │ ├── debug-panel.tsx │ │ │ │ │ │ │ ├── deployment-modal.tsx │ │ │ │ │ │ │ ├── entity-selector.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── settings-modal.tsx │ │ │ │ │ │ ├── mode-toggle.tsx │ │ │ │ │ │ ├── theme-provider.tsx │ │ │ │ │ │ └── ui/ │ │ │ │ │ │ ├── alert.tsx │ │ │ │ │ │ ├── attachment-gallery.tsx │ │ │ │ │ │ ├── badge.tsx │ │ │ │ │ │ ├── button.tsx │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ ├── chat-message-input.tsx │ │ │ │ │ │ ├── checkbox.tsx │ │ │ │ │ │ ├── dialog.tsx │ │ │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ │ ├── input.tsx │ │ │ │ │ │ ├── label.tsx │ │ │ │ │ │ ├── loading-spinner.tsx │ │ │ │ │ │ ├── loading-state.tsx │ │ │ │ │ │ ├── markdown-renderer.tsx │ │ │ │ │ │ ├── scroll-area.tsx │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ ├── separator.tsx │ │ │ │ │ │ ├── switch.tsx │ │ │ │ │ │ ├── tabs.tsx │ │ │ │ │ │ ├── textarea.tsx │ │ │ │ │ │ ├── toast.tsx │ │ │ │ │ │ └── tooltip.tsx │ │ │ │ │ ├── data/ │ │ │ │ │ │ └── gallery/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── sample-entities.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-drag-drop.ts │ │ │ │ │ │ └── useCancellableRequest.ts │ │ │ │ │ ├── index.css │ │ │ │ │ ├── lib/ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── main.tsx │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── api.ts │ │ │ │ │ │ └── streaming-state.ts │ │ │ │ │ ├── stores/ │ │ │ │ │ │ ├── devuiStore.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── agent-framework.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── openai.ts │ │ │ │ │ │ └── workflow.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── simple-layout.ts │ │ │ │ │ │ └── workflow-utils.ts │ │ │ │ │ └── vite-env.d.ts │ │ │ │ ├── tsconfig.app.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.node.json │ │ │ │ └── vite.config.ts │ │ │ ├── pyproject.toml │ │ │ ├── samples/ │ │ │ │ ├── README.md │ │ │ │ └── __init__.py │ │ │ └── tests/ │ │ │ └── devui/ │ │ │ ├── capture_messages.py │ │ │ ├── conftest.py │ │ │ ├── test_approval_validation.py │ │ │ ├── test_checkpoints.py │ │ │ ├── test_cleanup_hooks.py │ │ │ ├── test_conversations.py │ │ │ ├── test_discovery.py │ │ │ ├── test_execution.py │ │ │ ├── test_mapper.py │ │ │ ├── test_multimodal_workflow.py │ │ │ ├── test_openai_sdk_integration.py │ │ │ ├── test_schema_generation.py │ │ │ └── test_server.py │ │ ├── durabletask/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_durabletask/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _callbacks.py │ │ │ │ ├── _client.py │ │ │ │ ├── _constants.py │ │ │ │ ├── _durable_agent_state.py │ │ │ │ ├── _entities.py │ │ │ │ ├── _executors.py │ │ │ │ ├── _models.py │ │ │ │ ├── _orchestration_context.py │ │ │ │ ├── _response_utils.py │ │ │ │ ├── _shim.py │ │ │ │ ├── _worker.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── integration_tests/ │ │ │ │ ├── README.md │ │ │ │ ├── conftest.py │ │ │ │ ├── test_01_dt_single_agent.py │ │ │ │ ├── test_02_dt_multi_agent.py │ │ │ │ ├── test_03_dt_single_agent_streaming.py │ │ │ │ ├── test_04_dt_single_agent_orchestration_chaining.py │ │ │ │ ├── test_05_dt_multi_agent_orchestration_concurrency.py │ │ │ │ ├── test_06_dt_multi_agent_orchestration_conditionals.py │ │ │ │ └── test_07_dt_single_agent_orchestration_hitl.py │ │ │ ├── test_agent_session_id.py │ │ │ ├── test_client.py │ │ │ ├── test_durable_agent_state.py │ │ │ ├── test_durable_entities.py │ │ │ ├── test_executors.py │ │ │ ├── test_models.py │ │ │ ├── test_orchestration_context.py │ │ │ ├── test_shim.py │ │ │ └── test_worker.py │ │ ├── foundry_local/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_foundry_local/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _foundry_local_client.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── conftest.py │ │ │ └── test_foundry_local_client.py │ │ ├── github_copilot/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_github_copilot/ │ │ │ │ ├── __init__.py │ │ │ │ └── _agent.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── test_github_copilot_agent.py │ │ ├── lab/ │ │ │ ├── .gitignore │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── gaia/ │ │ │ │ ├── README.md │ │ │ │ ├── agent_framework_lab_gaia/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _types.py │ │ │ │ │ ├── gaia.py │ │ │ │ │ └── py.typed │ │ │ │ ├── samples/ │ │ │ │ │ ├── azure_ai_agent.py │ │ │ │ │ ├── gaia_sample.py │ │ │ │ │ └── openai_agent.py │ │ │ │ └── tests/ │ │ │ │ └── test_gaia.py │ │ │ ├── lightning/ │ │ │ │ ├── .gitattributes │ │ │ │ ├── README.md │ │ │ │ ├── agent_framework_lab_lightning/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── py.typed │ │ │ │ ├── samples/ │ │ │ │ │ ├── data/ │ │ │ │ │ │ └── math/ │ │ │ │ │ │ ├── test.jsonl │ │ │ │ │ │ └── train.jsonl │ │ │ │ │ ├── train_math_agent.py │ │ │ │ │ └── train_tau2_agent.py │ │ │ │ └── tests/ │ │ │ │ └── test_lightning.py │ │ │ ├── namespace/ │ │ │ │ └── agent_framework/ │ │ │ │ ├── __init__.py │ │ │ │ └── lab/ │ │ │ │ ├── __init__.py │ │ │ │ ├── gaia/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── lightning/ │ │ │ │ │ └── __init__.py │ │ │ │ └── tau2/ │ │ │ │ └── __init__.py │ │ │ ├── pyproject.toml │ │ │ └── tau2/ │ │ │ ├── README.md │ │ │ ├── agent_framework_lab_tau2/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _message_utils.py │ │ │ │ ├── _sliding_window.py │ │ │ │ ├── _tau2_utils.py │ │ │ │ ├── py.typed │ │ │ │ └── runner.py │ │ │ ├── samples/ │ │ │ │ └── run_benchmark.py │ │ │ └── tests/ │ │ │ ├── test_message_utils.py │ │ │ ├── test_sliding_window.py │ │ │ └── test_tau2_utils.py │ │ ├── mem0/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_mem0/ │ │ │ │ ├── __init__.py │ │ │ │ └── _context_provider.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── test_mem0_context_provider.py │ │ ├── ollama/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_ollama/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _chat_client.py │ │ │ │ ├── _embedding_client.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── ollama/ │ │ │ │ └── test_ollama_embedding_client.py │ │ │ └── test_ollama_chat_client.py │ │ ├── orchestrations/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_orchestrations/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _base_group_chat_orchestrator.py │ │ │ │ ├── _concurrent.py │ │ │ │ ├── _group_chat.py │ │ │ │ ├── _handoff.py │ │ │ │ ├── _magentic.py │ │ │ │ ├── _orchestration_request_info.py │ │ │ │ ├── _orchestration_state.py │ │ │ │ ├── _orchestrator_helpers.py │ │ │ │ ├── _sequential.py │ │ │ │ └── py.typed │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ ├── test_concurrent.py │ │ │ ├── test_group_chat.py │ │ │ ├── test_handoff.py │ │ │ ├── test_magentic.py │ │ │ ├── test_orchestration_request_info.py │ │ │ └── test_sequential.py │ │ ├── purview/ │ │ │ ├── AGENTS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── agent_framework_purview/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _cache.py │ │ │ │ ├── _client.py │ │ │ │ ├── _exceptions.py │ │ │ │ ├── _middleware.py │ │ │ │ ├── _models.py │ │ │ │ ├── _processor.py │ │ │ │ └── _settings.py │ │ │ ├── pyproject.toml │ │ │ └── tests/ │ │ │ └── purview/ │ │ │ ├── conftest.py │ │ │ ├── test_cache.py │ │ │ ├── test_chat_middleware.py │ │ │ ├── test_exceptions.py │ │ │ ├── test_middleware.py │ │ │ ├── test_processor.py │ │ │ ├── test_purview_client.py │ │ │ ├── test_purview_models.py │ │ │ └── test_settings.py │ │ └── redis/ │ │ ├── AGENTS.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── agent_framework_redis/ │ │ │ ├── __init__.py │ │ │ ├── _context_provider.py │ │ │ └── _history_provider.py │ │ ├── pyproject.toml │ │ └── tests/ │ │ └── test_providers.py │ ├── pyproject.toml │ ├── pyrightconfig.samples.json │ ├── pyrightconfig.samples.py310.json │ ├── samples/ │ │ ├── 01-get-started/ │ │ │ ├── 01_hello_agent.py │ │ │ ├── 02_add_tools.py │ │ │ ├── 03_multi_turn.py │ │ │ ├── 04_memory.py │ │ │ ├── 05_first_workflow.py │ │ │ ├── 06_host_your_agent.py │ │ │ └── README.md │ │ ├── 02-agents/ │ │ │ ├── __init__.py │ │ │ ├── auto_retry.py │ │ │ ├── background_responses.py │ │ │ ├── chat_client/ │ │ │ │ ├── README.md │ │ │ │ ├── built_in_chat_clients.py │ │ │ │ ├── chat_response_cancellation.py │ │ │ │ └── custom_chat_client.py │ │ │ ├── compaction/ │ │ │ │ ├── README.md │ │ │ │ ├── advanced.py │ │ │ │ ├── agent_client_overrides.py │ │ │ │ ├── basics.py │ │ │ │ ├── compaction_provider.py │ │ │ │ ├── custom.py │ │ │ │ └── tiktoken_tokenizer.py │ │ │ ├── context_providers/ │ │ │ │ ├── azure_ai_foundry_memory.py │ │ │ │ ├── azure_ai_search/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── azure_ai_with_search_context_agentic.py │ │ │ │ │ └── azure_ai_with_search_context_semantic.py │ │ │ │ ├── mem0/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── mem0_basic.py │ │ │ │ │ ├── mem0_oss.py │ │ │ │ │ └── mem0_sessions.py │ │ │ │ ├── redis/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── azure_redis_conversation.py │ │ │ │ │ ├── redis_basics.py │ │ │ │ │ ├── redis_conversation.py │ │ │ │ │ └── redis_sessions.py │ │ │ │ └── simple_context_provider.py │ │ │ ├── conversations/ │ │ │ │ ├── custom_history_provider.py │ │ │ │ ├── redis_history_provider.py │ │ │ │ └── suspend_resume_session.py │ │ │ ├── declarative/ │ │ │ │ ├── README.md │ │ │ │ ├── azure_openai_responses_agent.py │ │ │ │ ├── get_weather_agent.py │ │ │ │ ├── inline_yaml.py │ │ │ │ ├── mcp_tool_yaml.py │ │ │ │ ├── microsoft_learn_agent.py │ │ │ │ └── openai_responses_agent.py │ │ │ ├── devui/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── azure_responses_agent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── agent.py │ │ │ │ ├── declarative/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── workflow.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── fanout_workflow/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── workflow.py │ │ │ │ ├── foundry_agent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── agent.py │ │ │ │ ├── in_memory_mode.py │ │ │ │ ├── spam_workflow/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── workflow.py │ │ │ │ ├── weather_agent_azure/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── agent.py │ │ │ │ └── workflow_agents/ │ │ │ │ ├── __init__.py │ │ │ │ └── workflow.py │ │ │ ├── embeddings/ │ │ │ │ ├── azure_ai_inference_embeddings.py │ │ │ │ ├── azure_openai_embeddings.py │ │ │ │ └── openai_embeddings.py │ │ │ ├── mcp/ │ │ │ │ ├── README.md │ │ │ │ ├── agent_as_mcp_server.py │ │ │ │ ├── mcp_api_key_auth.py │ │ │ │ └── mcp_github_pat.py │ │ │ ├── middleware/ │ │ │ │ ├── README.md │ │ │ │ ├── agent_and_run_level_middleware.py │ │ │ │ ├── chat_middleware.py │ │ │ │ ├── class_based_middleware.py │ │ │ │ ├── decorator_middleware.py │ │ │ │ ├── exception_handling_with_middleware.py │ │ │ │ ├── function_based_middleware.py │ │ │ │ ├── middleware_termination.py │ │ │ │ ├── override_result_with_middleware.py │ │ │ │ ├── runtime_context_delegation.py │ │ │ │ ├── session_behavior_middleware.py │ │ │ │ ├── shared_state_middleware.py │ │ │ │ └── usage_tracking_middleware.py │ │ │ ├── multimodal_input/ │ │ │ │ ├── README.md │ │ │ │ ├── azure_chat_multimodal.py │ │ │ │ ├── azure_responses_multimodal.py │ │ │ │ └── openai_chat_multimodal.py │ │ │ ├── observability/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── advanced_manual_setup_console_output.py │ │ │ │ ├── advanced_zero_code.py │ │ │ │ ├── agent_observability.py │ │ │ │ ├── agent_with_foundry_tracing.py │ │ │ │ ├── azure_ai_agent_observability.py │ │ │ │ ├── configure_otel_providers_with_env_var.py │ │ │ │ ├── configure_otel_providers_with_parameters.py │ │ │ │ └── workflow_observability.py │ │ │ ├── providers/ │ │ │ │ ├── README.md │ │ │ │ ├── amazon/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── bedrock_chat_client.py │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── anthropic_advanced.py │ │ │ │ │ ├── anthropic_basic.py │ │ │ │ │ ├── anthropic_claude_basic.py │ │ │ │ │ ├── anthropic_claude_with_mcp.py │ │ │ │ │ ├── anthropic_claude_with_multiple_permissions.py │ │ │ │ │ ├── anthropic_claude_with_session.py │ │ │ │ │ ├── anthropic_claude_with_shell.py │ │ │ │ │ ├── anthropic_claude_with_tools.py │ │ │ │ │ ├── anthropic_claude_with_url.py │ │ │ │ │ ├── anthropic_foundry.py │ │ │ │ │ ├── anthropic_skills.py │ │ │ │ │ └── anthropic_with_shell.py │ │ │ │ ├── azure_ai/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── azure_ai_basic.py │ │ │ │ │ ├── azure_ai_provider_methods.py │ │ │ │ │ ├── azure_ai_use_latest_version.py │ │ │ │ │ ├── azure_ai_with_agent_as_tool.py │ │ │ │ │ ├── azure_ai_with_agent_to_agent.py │ │ │ │ │ ├── azure_ai_with_application_endpoint.py │ │ │ │ │ ├── azure_ai_with_azure_ai_search.py │ │ │ │ │ ├── azure_ai_with_bing_custom_search.py │ │ │ │ │ ├── azure_ai_with_bing_grounding.py │ │ │ │ │ ├── azure_ai_with_browser_automation.py │ │ │ │ │ ├── azure_ai_with_code_interpreter.py │ │ │ │ │ ├── azure_ai_with_code_interpreter_file_download.py │ │ │ │ │ ├── azure_ai_with_code_interpreter_file_generation.py │ │ │ │ │ ├── azure_ai_with_content_filtering.py │ │ │ │ │ ├── azure_ai_with_existing_agent.py │ │ │ │ │ ├── azure_ai_with_existing_conversation.py │ │ │ │ │ ├── azure_ai_with_explicit_settings.py │ │ │ │ │ ├── azure_ai_with_file_search.py │ │ │ │ │ ├── azure_ai_with_hosted_mcp.py │ │ │ │ │ ├── azure_ai_with_image_generation.py │ │ │ │ │ ├── azure_ai_with_local_mcp.py │ │ │ │ │ ├── azure_ai_with_memory_search.py │ │ │ │ │ ├── azure_ai_with_microsoft_fabric.py │ │ │ │ │ ├── azure_ai_with_openapi.py │ │ │ │ │ ├── azure_ai_with_reasoning.py │ │ │ │ │ ├── azure_ai_with_response_format.py │ │ │ │ │ ├── azure_ai_with_runtime_json_schema.py │ │ │ │ │ ├── azure_ai_with_session.py │ │ │ │ │ ├── azure_ai_with_sharepoint.py │ │ │ │ │ └── azure_ai_with_web_search.py │ │ │ │ ├── azure_ai_agent/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── azure_ai_basic.py │ │ │ │ │ ├── azure_ai_provider_methods.py │ │ │ │ │ ├── azure_ai_with_azure_ai_search.py │ │ │ │ │ ├── azure_ai_with_bing_custom_search.py │ │ │ │ │ ├── azure_ai_with_bing_grounding.py │ │ │ │ │ ├── azure_ai_with_bing_grounding_citations.py │ │ │ │ │ ├── azure_ai_with_code_interpreter.py │ │ │ │ │ ├── azure_ai_with_code_interpreter_file_generation.py │ │ │ │ │ ├── azure_ai_with_existing_agent.py │ │ │ │ │ ├── azure_ai_with_existing_session.py │ │ │ │ │ ├── azure_ai_with_explicit_settings.py │ │ │ │ │ ├── azure_ai_with_file_search.py │ │ │ │ │ ├── azure_ai_with_function_tools.py │ │ │ │ │ ├── azure_ai_with_hosted_mcp.py │ │ │ │ │ ├── azure_ai_with_local_mcp.py │ │ │ │ │ ├── azure_ai_with_multiple_tools.py │ │ │ │ │ ├── azure_ai_with_openapi_tools.py │ │ │ │ │ ├── azure_ai_with_response_format.py │ │ │ │ │ └── azure_ai_with_session.py │ │ │ │ ├── azure_openai/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── azure_assistants_basic.py │ │ │ │ │ ├── azure_assistants_with_code_interpreter.py │ │ │ │ │ ├── azure_assistants_with_existing_assistant.py │ │ │ │ │ ├── azure_assistants_with_explicit_settings.py │ │ │ │ │ ├── azure_assistants_with_function_tools.py │ │ │ │ │ ├── azure_assistants_with_session.py │ │ │ │ │ ├── azure_chat_client_basic.py │ │ │ │ │ ├── azure_chat_client_with_explicit_settings.py │ │ │ │ │ ├── azure_chat_client_with_function_tools.py │ │ │ │ │ ├── azure_chat_client_with_session.py │ │ │ │ │ ├── azure_responses_client_basic.py │ │ │ │ │ ├── azure_responses_client_code_interpreter_files.py │ │ │ │ │ ├── azure_responses_client_image_analysis.py │ │ │ │ │ ├── azure_responses_client_with_code_interpreter.py │ │ │ │ │ ├── azure_responses_client_with_explicit_settings.py │ │ │ │ │ ├── azure_responses_client_with_file_search.py │ │ │ │ │ ├── azure_responses_client_with_foundry.py │ │ │ │ │ ├── azure_responses_client_with_function_tools.py │ │ │ │ │ ├── azure_responses_client_with_hosted_mcp.py │ │ │ │ │ ├── azure_responses_client_with_local_mcp.py │ │ │ │ │ └── azure_responses_client_with_session.py │ │ │ │ ├── copilotstudio/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── copilotstudio_basic.py │ │ │ │ │ └── copilotstudio_with_explicit_settings.py │ │ │ │ ├── custom/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── custom_agent.py │ │ │ │ ├── foundry_local/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── foundry_local_agent.py │ │ │ │ ├── github_copilot/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── github_copilot_basic.py │ │ │ │ │ ├── github_copilot_with_file_operations.py │ │ │ │ │ ├── github_copilot_with_mcp.py │ │ │ │ │ ├── github_copilot_with_multiple_permissions.py │ │ │ │ │ ├── github_copilot_with_session.py │ │ │ │ │ ├── github_copilot_with_shell.py │ │ │ │ │ └── github_copilot_with_url.py │ │ │ │ ├── ollama/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── ollama_agent_basic.py │ │ │ │ │ ├── ollama_agent_reasoning.py │ │ │ │ │ ├── ollama_chat_client.py │ │ │ │ │ ├── ollama_chat_multimodal.py │ │ │ │ │ └── ollama_with_openai_chat_client.py │ │ │ │ └── openai/ │ │ │ │ ├── README.md │ │ │ │ ├── openai_assistants_basic.py │ │ │ │ ├── openai_assistants_provider_methods.py │ │ │ │ ├── openai_assistants_with_code_interpreter.py │ │ │ │ ├── openai_assistants_with_existing_assistant.py │ │ │ │ ├── openai_assistants_with_explicit_settings.py │ │ │ │ ├── openai_assistants_with_file_search.py │ │ │ │ ├── openai_assistants_with_function_tools.py │ │ │ │ ├── openai_assistants_with_response_format.py │ │ │ │ ├── openai_assistants_with_session.py │ │ │ │ ├── openai_chat_client_basic.py │ │ │ │ ├── openai_chat_client_with_explicit_settings.py │ │ │ │ ├── openai_chat_client_with_function_tools.py │ │ │ │ ├── openai_chat_client_with_local_mcp.py │ │ │ │ ├── openai_chat_client_with_runtime_json_schema.py │ │ │ │ ├── openai_chat_client_with_session.py │ │ │ │ ├── openai_chat_client_with_web_search.py │ │ │ │ ├── openai_responses_client_basic.py │ │ │ │ ├── openai_responses_client_image_analysis.py │ │ │ │ ├── openai_responses_client_image_generation.py │ │ │ │ ├── openai_responses_client_reasoning.py │ │ │ │ ├── openai_responses_client_streaming_image_generation.py │ │ │ │ ├── openai_responses_client_with_agent_as_tool.py │ │ │ │ ├── openai_responses_client_with_code_interpreter.py │ │ │ │ ├── openai_responses_client_with_code_interpreter_files.py │ │ │ │ ├── openai_responses_client_with_explicit_settings.py │ │ │ │ ├── openai_responses_client_with_file_search.py │ │ │ │ ├── openai_responses_client_with_function_tools.py │ │ │ │ ├── openai_responses_client_with_hosted_mcp.py │ │ │ │ ├── openai_responses_client_with_local_mcp.py │ │ │ │ ├── openai_responses_client_with_local_shell.py │ │ │ │ ├── openai_responses_client_with_runtime_json_schema.py │ │ │ │ ├── openai_responses_client_with_session.py │ │ │ │ ├── openai_responses_client_with_shell.py │ │ │ │ ├── openai_responses_client_with_structured_output.py │ │ │ │ └── openai_responses_client_with_web_search.py │ │ │ ├── response_stream.py │ │ │ ├── skills/ │ │ │ │ ├── README.md │ │ │ │ ├── code_defined_skill/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── code_defined_skill.py │ │ │ │ ├── file_based_skill/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── file_based_skill.py │ │ │ │ │ └── skills/ │ │ │ │ │ └── unit-converter/ │ │ │ │ │ ├── SKILL.md │ │ │ │ │ ├── references/ │ │ │ │ │ │ └── CONVERSION_TABLES.md │ │ │ │ │ └── scripts/ │ │ │ │ │ └── convert.py │ │ │ │ ├── mixed_skills/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── mixed_skills.py │ │ │ │ │ └── skills/ │ │ │ │ │ └── unit-converter/ │ │ │ │ │ ├── SKILL.md │ │ │ │ │ ├── references/ │ │ │ │ │ │ └── CONVERSION_TABLES.md │ │ │ │ │ └── scripts/ │ │ │ │ │ └── convert.py │ │ │ │ ├── script_approval/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── script_approval.py │ │ │ │ └── subprocess_script_runner.py │ │ │ ├── tools/ │ │ │ │ ├── agent_as_tool_with_session_propagation.py │ │ │ │ ├── control_total_tool_executions.py │ │ │ │ ├── function_invocation_configuration.py │ │ │ │ ├── function_tool_declaration_only.py │ │ │ │ ├── function_tool_from_dict_with_dependency_injection.py │ │ │ │ ├── function_tool_recover_from_failures.py │ │ │ │ ├── function_tool_with_approval.py │ │ │ │ ├── function_tool_with_approval_and_sessions.py │ │ │ │ ├── function_tool_with_explicit_schema.py │ │ │ │ ├── function_tool_with_kwargs.py │ │ │ │ ├── function_tool_with_max_exceptions.py │ │ │ │ ├── function_tool_with_max_invocations.py │ │ │ │ ├── function_tool_with_session_injection.py │ │ │ │ └── tool_in_class.py │ │ │ └── typed_options.py │ │ ├── 03-workflows/ │ │ │ ├── README.md │ │ │ ├── _start-here/ │ │ │ │ ├── step1_executors_and_edges.py │ │ │ │ ├── step2_agents_in_a_workflow.py │ │ │ │ └── step3_streaming.py │ │ │ ├── agents/ │ │ │ │ ├── azure_ai_agents_streaming.py │ │ │ │ ├── azure_ai_agents_with_shared_session.py │ │ │ │ ├── azure_chat_agents_and_executor.py │ │ │ │ ├── azure_chat_agents_streaming.py │ │ │ │ ├── azure_chat_agents_tool_calls_with_feedback.py │ │ │ │ ├── concurrent_workflow_as_agent.py │ │ │ │ ├── custom_agent_executors.py │ │ │ │ ├── group_chat_workflow_as_agent.py │ │ │ │ ├── handoff_workflow_as_agent.py │ │ │ │ ├── magentic_workflow_as_agent.py │ │ │ │ ├── sequential_workflow_as_agent.py │ │ │ │ ├── workflow_as_agent_human_in_the_loop.py │ │ │ │ ├── workflow_as_agent_kwargs.py │ │ │ │ ├── workflow_as_agent_reflection_pattern.py │ │ │ │ └── workflow_as_agent_with_session.py │ │ │ ├── checkpoint/ │ │ │ │ ├── checkpoint_with_human_in_the_loop.py │ │ │ │ ├── checkpoint_with_resume.py │ │ │ │ ├── sub_workflow_checkpoint.py │ │ │ │ └── workflow_as_agent_checkpoint.py │ │ │ ├── composition/ │ │ │ │ ├── sub_workflow_basics.py │ │ │ │ ├── sub_workflow_kwargs.py │ │ │ │ ├── sub_workflow_parallel_requests.py │ │ │ │ └── sub_workflow_request_interception.py │ │ │ ├── control-flow/ │ │ │ │ ├── edge_condition.py │ │ │ │ ├── multi_selection_edge_group.py │ │ │ │ ├── sequential_executors.py │ │ │ │ ├── sequential_streaming.py │ │ │ │ ├── simple_loop.py │ │ │ │ ├── switch_case_edge_group.py │ │ │ │ └── workflow_cancellation.py │ │ │ ├── declarative/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── agent_to_function_tool/ │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── conditional_workflow/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── customer_support/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── main.py │ │ │ │ │ ├── ticketing_plugin.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── deep_research/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── main.py │ │ │ │ ├── function_tools/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── human_in_loop/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── invoke_function_tool/ │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── marketing/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ ├── simple_workflow/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── main.py │ │ │ │ │ └── workflow.yaml │ │ │ │ └── student_teacher/ │ │ │ │ ├── README.md │ │ │ │ ├── main.py │ │ │ │ └── workflow.yaml │ │ │ ├── human-in-the-loop/ │ │ │ │ ├── agents_with_HITL.py │ │ │ │ ├── agents_with_approval_requests.py │ │ │ │ ├── agents_with_declaration_only_tools.py │ │ │ │ ├── concurrent_request_info.py │ │ │ │ ├── group_chat_request_info.py │ │ │ │ ├── guessing_game_with_human_input.py │ │ │ │ └── sequential_request_info.py │ │ │ ├── observability/ │ │ │ │ └── executor_io_observation.py │ │ │ ├── orchestrations/ │ │ │ │ ├── README.md │ │ │ │ ├── concurrent_agents.py │ │ │ │ ├── concurrent_custom_agent_executors.py │ │ │ │ ├── concurrent_custom_aggregator.py │ │ │ │ ├── group_chat_agent_manager.py │ │ │ │ ├── group_chat_philosophical_debate.py │ │ │ │ ├── group_chat_simple_selector.py │ │ │ │ ├── handoff_autonomous.py │ │ │ │ ├── handoff_simple.py │ │ │ │ ├── handoff_with_code_interpreter_file.py │ │ │ │ ├── handoff_with_tool_approval_checkpoint_resume.py │ │ │ │ ├── magentic.py │ │ │ │ ├── magentic_checkpoint.py │ │ │ │ ├── magentic_human_plan_review.py │ │ │ │ ├── sequential_agents.py │ │ │ │ ├── sequential_chain_only_agent_responses.py │ │ │ │ └── sequential_custom_executors.py │ │ │ ├── parallelism/ │ │ │ │ ├── aggregate_results_of_different_types.py │ │ │ │ ├── fan_out_fan_in_edges.py │ │ │ │ └── map_reduce_and_visualization.py │ │ │ ├── resources/ │ │ │ │ ├── ambiguous_email.txt │ │ │ │ ├── email.txt │ │ │ │ ├── long_text.txt │ │ │ │ └── spam.txt │ │ │ ├── state-management/ │ │ │ │ ├── state_with_agents.py │ │ │ │ └── workflow_kwargs.py │ │ │ ├── tool-approval/ │ │ │ │ ├── concurrent_builder_tool_approval.py │ │ │ │ ├── group_chat_builder_tool_approval.py │ │ │ │ └── sequential_builder_tool_approval.py │ │ │ └── visualization/ │ │ │ └── concurrent_with_visualization.py │ │ ├── 04-hosting/ │ │ │ ├── a2a/ │ │ │ │ ├── README.md │ │ │ │ ├── a2a_server.http │ │ │ │ ├── a2a_server.py │ │ │ │ ├── agent_definitions.py │ │ │ │ ├── agent_executor.py │ │ │ │ ├── agent_with_a2a.py │ │ │ │ └── invoice_data.py │ │ │ ├── azure_functions/ │ │ │ │ ├── 01_single_agent/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 02_multi_agent/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 03_reliable_streaming/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ ├── redis_stream_response_handler.py │ │ │ │ │ ├── requirements.txt │ │ │ │ │ └── tools.py │ │ │ │ ├── 04_single_agent_orchestration_chaining/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 05_multi_agent_orchestration_concurrency/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 06_multi_agent_orchestration_conditionals/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 07_single_agent_orchestration_hitl/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 08_mcp_server/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.template │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 09_workflow_shared_state/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.sample │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 10_workflow_no_shared_state/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.sample │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 11_workflow_parallel/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.sample │ │ │ │ │ └── requirements.txt │ │ │ │ ├── 12_workflow_hitl/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── demo.http │ │ │ │ │ ├── function_app.py │ │ │ │ │ ├── host.json │ │ │ │ │ ├── local.settings.json.sample │ │ │ │ │ └── requirements.txt │ │ │ │ └── README.md │ │ │ └── durabletask/ │ │ │ ├── 01_single_agent/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ ├── 02_multi_agent/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ ├── 03_single_agent_streaming/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── redis_stream_response_handler.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ ├── tools.py │ │ │ │ └── worker.py │ │ │ ├── 04_single_agent_orchestration_chaining/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ ├── 05_multi_agent_orchestration_concurrency/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ ├── 06_multi_agent_orchestration_conditionals/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ ├── 07_single_agent_orchestration_hitl/ │ │ │ │ ├── README.md │ │ │ │ ├── client.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── sample.py │ │ │ │ └── worker.py │ │ │ └── README.md │ │ ├── 05-end-to-end/ │ │ │ ├── chatkit-integration/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py │ │ │ │ ├── attachment_store.py │ │ │ │ ├── frontend/ │ │ │ │ │ ├── index.html │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── App.tsx │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ └── vite-env.d.ts │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.node.json │ │ │ │ │ └── vite.config.ts │ │ │ │ ├── store.py │ │ │ │ └── weather_widget.py │ │ │ ├── evaluation/ │ │ │ │ ├── red_teaming/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── red_team_agent_sample.py │ │ │ │ └── self_reflection/ │ │ │ │ ├── README.md │ │ │ │ ├── resources/ │ │ │ │ │ └── suboptimal_groundedness_prompts.jsonl │ │ │ │ └── self_reflection.py │ │ │ ├── hosted_agents/ │ │ │ │ ├── README.md │ │ │ │ ├── agent_with_hosted_mcp/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── agent.yaml │ │ │ │ │ ├── main.py │ │ │ │ │ └── requirements.txt │ │ │ │ ├── agent_with_local_tools/ │ │ │ │ │ ├── .dockerignore │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── agent.yaml │ │ │ │ │ ├── main.py │ │ │ │ │ └── requirements.txt │ │ │ │ ├── agent_with_text_search_rag/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── agent.yaml │ │ │ │ │ ├── main.py │ │ │ │ │ └── requirements.txt │ │ │ │ ├── agents_in_workflow/ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── agent.yaml │ │ │ │ │ ├── main.py │ │ │ │ │ └── requirements.txt │ │ │ │ └── writer_reviewer_agents_in_workflow/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── README.md │ │ │ │ ├── agent.yaml │ │ │ │ ├── main.py │ │ │ │ └── requirements.txt │ │ │ ├── m365-agent/ │ │ │ │ ├── README.md │ │ │ │ └── m365_agent_demo/ │ │ │ │ └── app.py │ │ │ ├── purview_agent/ │ │ │ │ ├── README.md │ │ │ │ └── sample_purview_agent.py │ │ │ └── workflow_evaluation/ │ │ │ ├── README.md │ │ │ ├── _tools.py │ │ │ ├── create_workflow.py │ │ │ └── run_evaluation.py │ │ ├── AGENTS.md │ │ ├── README.md │ │ ├── SAMPLE_GUIDELINES.md │ │ ├── __init__.py │ │ ├── autogen-migration/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── orchestrations/ │ │ │ │ ├── 01_round_robin_group_chat.py │ │ │ │ ├── 02_selector_group_chat.py │ │ │ │ ├── 03_swarm.py │ │ │ │ └── 04_magentic_one.py │ │ │ ├── pyrightconfig.json │ │ │ └── single_agent/ │ │ │ ├── 01_basic_assistant_agent.py │ │ │ ├── 02_assistant_agent_with_tool.py │ │ │ ├── 03_assistant_agent_thread_and_stream.py │ │ │ └── 04_agent_as_tool.py │ │ ├── demos/ │ │ │ └── ag_ui_workflow_handoff/ │ │ │ ├── README.md │ │ │ ├── backend/ │ │ │ │ └── server.py │ │ │ └── frontend/ │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── main.tsx │ │ │ │ ├── styles.css │ │ │ │ └── vite-env.d.ts │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ ├── tsconfig.node.tsbuildinfo │ │ │ ├── tsconfig.tsbuildinfo │ │ │ ├── vite.config.d.ts │ │ │ ├── vite.config.js │ │ │ └── vite.config.ts │ │ ├── semantic-kernel-migration/ │ │ │ ├── README.md │ │ │ ├── azure_ai_agent/ │ │ │ │ ├── 01_basic_azure_ai_agent.py │ │ │ │ ├── 02_azure_ai_agent_with_code_interpreter.py │ │ │ │ └── 03_azure_ai_agent_threads_and_followups.py │ │ │ ├── chat_completion/ │ │ │ │ ├── 01_basic_chat_completion.py │ │ │ │ ├── 02_chat_completion_with_tool.py │ │ │ │ └── 03_chat_completion_thread_and_stream.py │ │ │ ├── copilot_studio/ │ │ │ │ ├── 01_basic_copilot_studio_agent.py │ │ │ │ └── 02_copilot_studio_streaming.py │ │ │ ├── openai_assistant/ │ │ │ │ ├── 01_basic_openai_assistant.py │ │ │ │ ├── 02_openai_assistant_with_code_interpreter.py │ │ │ │ └── 03_openai_assistant_function_tool.py │ │ │ ├── openai_responses/ │ │ │ │ ├── 01_basic_responses_agent.py │ │ │ │ ├── 02_responses_agent_with_tool.py │ │ │ │ └── 03_responses_agent_structured_output.py │ │ │ ├── orchestrations/ │ │ │ │ ├── concurrent_basic.py │ │ │ │ ├── group_chat.py │ │ │ │ ├── handoff.py │ │ │ │ ├── magentic.py │ │ │ │ └── sequential.py │ │ │ └── processes/ │ │ │ ├── fan_out_fan_in_process.py │ │ │ └── nested_process.py │ │ └── shared/ │ │ └── resources/ │ │ ├── countries.json │ │ └── weather.json │ ├── scripts/ │ │ ├── __init__.py │ │ ├── check_md_code_blocks.py │ │ ├── dependencies/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── _dependency_bounds_lower_impl.py │ │ │ ├── _dependency_bounds_runtime.py │ │ │ ├── _dependency_bounds_upper_impl.py │ │ │ ├── add_dependency_to_project.py │ │ │ ├── upgrade_dev_dependencies.py │ │ │ └── validate_dependency_bounds.py │ │ ├── run_tasks_in_changed_packages.py │ │ ├── run_tasks_in_packages_if_exists.py │ │ ├── sample_validation/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── const.py │ │ │ ├── create_dynamic_workflow_executor.py │ │ │ ├── discovery.py │ │ │ ├── models.py │ │ │ ├── report.py │ │ │ ├── run_dynamic_validation_workflow_executor.py │ │ │ └── workflow.py │ │ ├── task_runner.py │ │ └── workspace_poe_tasks.py │ ├── shared_tasks.toml │ └── tests/ │ └── samples/ │ └── getting_started/ │ ├── test_agent_samples.py │ ├── test_chat_client_samples.py │ └── test_threads_samples.py ├── schemas/ │ └── durable-agent-entity-state.json ├── wf-source-gen-plan.md └── workflow-samples/ ├── CustomerSupport.yaml ├── DeepResearch.yaml ├── Marketing.yaml ├── MathChat.yaml └── README.md