Commit Graph

162 Commits

  • .NET: CI Build time end to end improvement (#4208)
    * .NET: Upgrade to XUnit 3 and Microsoft Testing Platform (#4176)
    
    * Fix copilot studio integration tests failure (#4209)
    
    * Fix anthropic integration tests and skip reason (#4211)
    
    * Remove accidental add of code coverage for integration tests (#4219)
    
    * Add solution filtered parallel test run (#4226)
    
    * Fix build paths (#4228)
    
    * Fix coverage settings path and trait filter (#4229)
    
    * Add project name filter to solution (#4231)
    
    * Increase Integration Test Parallelism (#4241)
    
    * Increase integration tests threads to 4x (#4242)
    
    * Separate build and test into parallel jobs (#4243)
    
    * Filter src by framework for tests build (#4244)
    
    * Separate build and test into parallel jobs
    
    * Filter source projects by framework for tests build
    
    * Pre-build samples via tests to avoid timeouts (#4245)
    
    * Separate build from run for console sample validation (#4251)
    
    * Address PR comments (#4255)
    
    * Merge and move scripts (#4308)
    
    * .NET: Add Microsoft Fabric sample #3674 (#4230)
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    
    * Python: Phase 2: Embedding clients for Ollama, Bedrock, and Azure AI Inference (#4207)
    
    * Phase 2: Embedding clients for Ollama, Bedrock, and Azure AI Inference
    
    Add embedding client implementations to existing provider packages:
    
    - OllamaEmbeddingClient: Text embeddings via Ollama's embed API
    - BedrockEmbeddingClient: Text embeddings via Amazon Titan on Bedrock
    - AzureAIInferenceEmbeddingClient: Text and image embeddings via Azure AI
      Inference, supporting Content | str input with separate model IDs for
      text (AZURE_AI_INFERENCE_EMBEDDING_MODEL_ID) and image
      (AZURE_AI_INFERENCE_IMAGE_EMBEDDING_MODEL_ID) endpoints
    
    Additional changes:
    - Rename EmbeddingCoT -> EmbeddingT, EmbeddingOptionsCoT -> EmbeddingOptionsT
    - Add otel_provider_name passthrough to all embedding clients
    - Register integration pytest marker in all packages
    - Add lazy-loading namespace exports for Ollama and Bedrock embeddings
    - Add image embedding sample using Cohere-embed-v3-english
    - Add azure-ai-inference dependency to azure-ai package
    
    Part of #1188
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix mypy duplicate name and ruff lint issues
    
    - Rename second 'vector' variable to 'img_vector' in image embedding loop
    - Combine nested with statements in tests
    - Remove unused result assignments in tests
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * updates from feedback
    
    * Fix CI failures in embedding usage handling
    
    - Fix Azure AI embedding mypy issues by normalizing vectors to list[float],
      safely accumulating optional usage token fields, and filtering None entries
      before constructing GeneratedEmbeddings
    - Avoid Bandit false positive by initializing usage details as an empty dict
    - Update OpenAI embedding tests to assert canonical usage keys
      (input_token_count/total_token_count)
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * [Purview] Mark responses as responses and fix epoch bug for python long overflow (#4225)
    
    * .NET: Support InvokeMcpTool for declarative workflows (#4204)
    
    * Initial implementation of InvokeMcpTool in declarative workflow
    
    * Cleaned up sample implementation
    
    * Updated sample comments.
    
    * Added missing executor routing attribute
    
    * Fix PR comments.
    
    * Updated based on PR comments.
    
    * Updated based on PR comments.
    
    * Removed unnecessary using statement.
    
    * Update Python package versions to rc2 (#4258)
    
    - Bump core and azure-ai to 1.0.0rc2
    - Bump preview packages to 1.0.0b260225
    - Update dependencies to >=1.0.0rc2
    - Add CHANGELOG entries for changes since rc1
    - Update uv.lock
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * .NET: Fixing issue where OpenTelemetry span is never exported in .NET in-process workflow execution (#4196)
    
    * 1. Add reproduction test for issue #4155: workflow.run Activity never stopped in streaming OffThread path
    
    The WorkflowRunActivity_IsStopped_Streaming_OffThread test demonstrates that
    the workflow.run OpenTelemetry Activity created in StreamingRunEventStream.RunLoopAsync
    is started but never stopped when using the OffThread/Default streaming execution.
    The background run loop keeps running after event consumption completes, so the
    using Activity? declaration never disposes until explicit StopAsync() is called.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    2. Fix workflow.run Activity never stopped in streaming OffThread execution (#4155)
    
    The workflow.run OpenTelemetry Activity in StreamingRunEventStream.RunLoopAsync
    was scoped to the method lifetime via 'using'. Since the run loop only exits on
    cancellation, the Activity was never stopped/exported until explicit disposal.
    
    Fix: Remove 'using' and explicitly dispose the Activity when the workflow reaches
    Idle status (all supersteps complete). A safety-net disposal in the finally block
    handles cancellation and error paths.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add root-level workflow.session activity spanning run loop lifetime\n\nImplements two-level telemetry hierarchy per PR feedback from lokitoth:\n- workflow.session: spans the entire run loop / stream lifetime\n- workflow_invoke: per input-to-halt cycle, nested within the session\n\nThis ensures the session activity stays open across multiple turns,\nwhile individual run activities are created and disposed per cycle.\n\nAlso fixes linkedSource CancellationTokenSource disposal leak in\nStreamingRunEventStream (added using declaration)."
    
    * Address Copilot review: fix Activity/CTS disposal, rename activity, add error tag\n\n1. LockstepRunEventStream: Remove 'using' from Activity in async iterator\n   and manually dispose in finally block (fixes #4155 pattern). Also dispose\n   linkedSource CTS in finally to prevent leak.\n2. Tags.cs: Add ErrorMessage (\"error.message\") tag for runtime errors,\n   distinct from BuildErrorMessage (\"build.error.message\").\n3. ActivityNames: Rename WorkflowRun from \"workflow_invoke\" to \"workflow.run\"\n   for cross-language consistency.\n4. WorkflowTelemetryContext: Fix XML doc to say \"outer/parent span\" instead\n   of \"root-level span\".\n5. ObservabilityTests: Assert WorkflowSession absence when DisableWorkflowRun\n   is true.\n6. WorkflowRunActivityStopTests: Fix streaming test race by disposing\n   StreamingRun before asserting activities are stopped.\n7. StreamingRunEventStream/LockstepRunEventStream: Use Tags.ErrorMessage\n   instead of Tags.BuildErrorMessage for runtime error events."
    
    * Review fixes: revert workflow_invoke rename, use 'using' for linkedSource, move SessionStarted earlier\n\n- Revert ActivityNames.WorkflowRun back to \"workflow_invoke\" (OTEL semantic convention contract)\n- Use 'using' declaration for linkedSource CTS in LockstepRunEventStream (no timing sensitivity)\n- Move SessionStarted event before WaitForInputAsync in StreamingRunEventStream to match Lockstep behavior"
    
    * Improve naming and comments in WorkflowRunActivityStopTests"
    
    * Prevent session Activity.Current leak in lockstep mode, add nesting test
    
    Save and restore Activity.Current in LockstepRunEventStream.Start() so the
    session activity doesn't leak into caller code via AsyncLocal. Re-establish
    Activity.Current = sessionActivity before creating the run activity in
    TakeEventStreamAsync to preserve parent-child nesting.
    
    Add test verifying app activities after RunAsync are not parented under the
    session, and that the workflow_invoke activity nests under the session."
    
    * Fix stale XML doc: WorkflowRun -> WorkflowInvoke in ObservabilityTests
    
    ---------
    
    Co-authored-by: alliscode <bentho@microsoft.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Python / .NET Samples - Restructure and Improve Samples (Feature Branc… (#4092)
    
    * Python: .NET Samples - Restructure and Improve Samples (Feature Branch) (#4091)
    
    * Moved by agent (#4094)
    
    * Fix readme links
    
    * .NET Samples - Create `04-hosting` learning path step (#4098)
    
    * Agent move
    
    * Agent reorderd
    
    * Remove A2A section from README 
    
    Removed A2A section from the Getting Started README.
    
    * Agent fixed links
    
    * Fix broken sample links in durable-agents README (#4101)
    
    * Initial plan
    
    * Fix broken internal links in documentation
    
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * Revert template link changes; keep only durable-agents README fix
    
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * .NET Samples - Create `03-workflows` learning path step (#4102)
    
    * Fix solution project path
    
    * Python: Fix broken markdown links to repo resources (outside /docs) (#4105)
    
    * Initial plan
    
    * Fix broken markdown links to repo resources
    
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * Update README to rename .NET Workflows Samples section
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * .NET Samples - Create `02-agents` learning path step (#4107)
    
    * .NET: Fix broken relative link in GroupChatToolApproval README (#4108)
    
    * Initial plan
    
    * Fix broken link in GroupChatToolApproval README
    
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * Update labeler configuration for workflow samples
    
    * .NET - Reorder Agents samples to start from Step01 instead of Step04 (#4110)
    
    * Fix solution
    
    * Resolve new sample paths
    
    * Move new AgentSkills and AgentWithMemory_Step04 samples
    
    * Fix link
    
    * Fix readme path
    
    * fix: update stale dotnet/samples/Durable path reference in AGENTS.md
    
    Co-authored-by: crickman <66376200+crickman@users.noreply.github.com>
    
    * Moved new sample
    
    * Update solution
    
    * Resolve merge (new sample)
    
    * Sync to new sample - FoundryAgents_Step21_BingCustomSearch
    
    * Updated README
    
    * .NET Samples - Configuration Naming Update (#4149)
    
    * .NET: Restore AzureFunctions index parity with ConsoleApps under DurableAgents samples (#4221)
    
    * Clean-up `05_host_your_agent`
    
    * Config setting consistency
    
    * Refine samples
    
    * AGENTS.md
    
    * Move new samples
    
    * Re-order samples
    
    * Move new project and fixup solution
    
    * Fixup model config
    
    * Fix up new UT project
    
    ---------
    
    Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
    
    * Python: Fix Bedrock embedding test stub missing meta attribute (#4287)
    
    * Fix Bedrock embedding test stub missing meta attribute
    
    * Increase test coverage so gate passes
    
    * Python: (ag-ui): fix approval payloads being re-processed on subsequent conversation turns (#4232)
    
    * Fix ag-ui tool call issue
    
    * Safe json fix
    
    * Python: Update workflow orchestration samples to use AzureOpenAIResponsesClient (#4285)
    
    * Update workflow orchestration samples to use AzureOpenAIResponsesClient
    
    * Fix broken link
    
    * Move scripts to scripts folder
    
    ---------
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    Co-authored-by: Rishabh Chawla <rishabhchawla1995@gmail.com>
    Co-authored-by: Peter Ibekwe <109177538+peibekwe@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    Co-authored-by: Ben Thomas <ben.thomas@microsoft.com>
    Co-authored-by: alliscode <bentho@microsoft.com>
    Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
    
    * Fix encoding (#4309)
    
    * Disable Parallelization for WorkflowRunActivityStopTests (#4313)
    
    * Revert parallel disable (#4324)
    
    * .NET: Disable flakey Workflow Observability tests (#4416)
    
    * Disable flakey OffThread test
    
    * Disable additional OffThread test
    
    * Disable a further test
    
    * Disable all observability tests
    
    ---------
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    Co-authored-by: Rishabh Chawla <rishabhchawla1995@gmail.com>
    Co-authored-by: Peter Ibekwe <109177538+peibekwe@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    Co-authored-by: Ben Thomas <ben.thomas@microsoft.com>
    Co-authored-by: alliscode <bentho@microsoft.com>
    Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
  • .NET: Update Azure.AI.Projects 2.0.0-beta.1 (#4270)
    * Update Microsoft.Agents.AI.AzureAI for Azure.AI.Projects SDK 2.0.0
    
    - Bump Azure.AI.Projects to 2.0.0-alpha.20260213.1
    - Bump Azure.AI.Projects.OpenAI to 2.0.0-alpha.20260213.1
    - Bump System.ClientModel to 1.9.0 (transitive dependency)
    - Switch both GetAgent and CreateAgentVersion to protocol methods
      with MEAI user-agent policy injection via RequestOptions
    - Migrate 29 CREATE-path tests from FakeAgentClient to HttpHandlerAssert
      pattern for real HTTP pipeline testing
    - Fix StructuredOutputDefinition constructor (BinaryData -> IDictionary)
    - Fix responses endpoint path (openai/responses -> /responses)
    - Add local-packages NuGet source for pre-release nupkgs
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Update Azure.AI.Projects to 2.0.0-beta.1 from NuGet.org
    
    - Update Azure.AI.Projects and Azure.AI.Projects.OpenAI to 2.0.0-beta.1
    - Remove local-packages NuGet source (packages now on nuget.org)
    - Fix MemorySearchTool -> MemorySearchPreviewTool rename
    - Fix RedTeams.CreateAsync ambiguous call
    - Fix CreateAgentVersion/Async signature change (BinaryData -> string)
    - Suppress AAIP001 experimental warning for WorkflowAgentDefinition
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Move s_modelWriterOptionsWire field before methods that use it
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix flaky test: prevent spurious workflow_invoke Activity on timeout wake-up
    
    The StreamingRunEventStream run loop uses a 1-second timeout on
    WaitForInputAsync. When the timeout fires before the consumer calls
    StopAsync, the loop would create a spurious workflow_invoke Activity
    even though no actual input was provided. This caused the
    WorkflowRunActivity_IsStopped_Streaming_OffThread_MultiTurnAsync test
    to intermittently fail (expecting 2 activities but finding 3).
    
    Fix: guard the loop body with a HasUnprocessedMessages check. On
    timeout wake-ups with no work, the loop waits again without creating
    an activity or changing the run status.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix epoch race condition causing unit tests to hang on net10.0 and net472
    
    The HasUnprocessedMessages guard (previous commit) correctly prevents
    spurious workflow_invoke Activity creation on timeout wake-ups, but
    exposed a latent race in the epoch-based signal filtering.
    
    The race: when the run loop processes messages quickly and calls
    Interlocked.Increment(ref _completionEpoch) before the consumer calls
    TakeEventStreamAsync, the consumer reads the already-incremented epoch
    and sets myEpoch = epoch + 1. This causes the consumer to skip the
    valid InternalHaltSignal (its epoch < myEpoch) and block forever
    waiting for a signal that will never arrive (since the guard prevents
    spurious signal generation).
    
    Fix: read _completionEpoch without +1. The +1 was originally needed to
    filter stale signals from timeout-driven spurious loop iterations, but
    those no longer exist thanks to the HasUnprocessedMessages guard.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Revert "Fix epoch race condition causing unit tests to hang on net10.0 and net472"
    
    This reverts commit 6ce7f01be8.
    
    * Revert "Fix flaky test: prevent spurious workflow_invoke Activity on timeout wake-up"
    
    This reverts commit 98963e17f2.
    
    * Skip hanging multi-turn declarative integration tests
    
    The ValidateMultiTurnAsync tests (ConfirmInput.yaml, RequestExternalInput.yaml)
    hang indefinitely in CI, blocking the merge queue. The hang is SDK-independent
    (reproduces with both Azure.AI.Projects 1.2.0-beta.5 and 2.0.0-beta.1) and
    is a pre-existing issue in the declarative workflow multi-turn test logic.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Remove unused using directive in IntegrationTest.cs
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Restore Azure.AI.Projects 2.0.0-beta.1 version bump
    
    The merge from main accidentally reverted the package versions back to
    1.2.0-beta.5. This is the primary change of this PR.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address merge conflict
    
    * Skip flaky WorkflowRunActivity_IsStopped_Streaming_OffThread_MultiTurnAsync test
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Skip CheckSystem test cases temporarily
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • .NET: Updated Copilot SDK to the latest version (#4406)
    * Updated Copilot SDK to the latest version
    
    * Added retry
  • .NET: AuthN & AuthZ sample with asp.net service and web client (#4354)
    * Add sample demonstrating authentication and user access in agent tools
    
    * Add fixes to enable running on windows
    
    * Add launchsettings, add docker-compose to slnx and fix formatting
    
    * Switch to Expenses rather than todo based sample and address PR comments
    
    * Rename sample
    
    * Fix formatting
  • .NET: Support InvokeMcpTool for declarative workflows (#4204)
    * Initial implementation of InvokeMcpTool in declarative workflow
    
    * Cleaned up sample implementation
    
    * Updated sample comments.
    
    * Added missing executor routing attribute
    
    * Fix PR comments.
    
    * Updated based on PR comments.
    
    * Updated based on PR comments.
    
    * Removed unnecessary using statement.
  • .NET: Support InvokeFunctionTool for declarative workflows (#4014)
    * Initial Implementation of InvokeFunctionTool
    
    * Added unit test for InvokeFunctionTool executor.
    
    * Implemented unit and integration tests for InvokeFunctionTool.
    
    * Add sample for InvokeFunctionTool in declarative workflows.
    
    * Remove unused sample and updated comments.
    
    * Updating to official OM release with InvokeFunctionTool
    
    * Fix formatting issues.
    
    * Updated PowerFx version
    
    * Update test fixture
    
    * Cleanup - Removed unused method in InvokeFunctionToolExecutor
    
    * Update test based on PR feedback.
    
    * Update based on PR comments
  • Fix MCP samples: update MCP SDK to 0.8.0-preview.1 and fix README references (#3959)
    - Update ModelContextProtocol NuGet package from 0.4.0-preview.3 to 0.8.0-preview.1
    - Update System.Net.ServerSentEvents from 10.0.1 to 10.0.3
    - Fix OAuth config to use DynamicClientRegistration in Agent_MCP_Server_Auth
    - Fix incorrect sample name references in README files
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • .NET: Add Foundry Evaluation samples (Safety + Quality) (#3697)
    * Initial plan
    
    * Add Foundry evaluation samples for Red Teaming and Self-Reflection
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Refactor evaluation samples with real implementations in local functions
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Uncomment function signatures and bodies, keep only invocations commented
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Update Foundry evaluation samples with observability support
    
    * Restructure evaluation samples to follow FoundryAgents naming convention
    
    - Rename Evaluation/Evaluation_StepXX to FoundryAgents_Evaluations_StepXX
    - Add evaluation projects to slnx
    - Fix var usage, apply dotnet format, use DefaultAzureCredential
    - Add try/finally for agent cleanup
    - Fix evaluator deployment name separation in Step02
    - Update README references
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Rewrite Step01 to use Azure.AI.Projects RedTeam API and address review comments
    
    - Replace safety evaluator sample with actual Red Teaming using AIProjectClient.RedTeams
    - Use AttackStrategy (Easy, Moderate, Jailbreak) and RiskCategory from Azure.AI.Projects
    - Remove Microsoft.Extensions.AI.Evaluation.Safety dependency from Step01
    - Add DefaultAzureCredential warning comments to Step02
    - Remove unused bestResponse variable in Step02
    - Add session isolation comments in self-reflection loop
    - Fix stale directory references in READMEs
    - Fix misleading evaluation overview link in main README
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add note about agent-targeted red teaming limitations in README
    
    The .NET RedTeam API currently only supports model deployment targets
    via AzureOpenAIModelConfiguration. Agent-targeted red teaming with
    AzureAIAgentTarget is documented in concept docs but not yet available
    in the SDK's RedTeam constructor. Results appear in classic portal view.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add classic Foundry disclaimer to red teaming sample README
    
    Clarify that this sample uses the classic Azure AI Foundry red teaming
    API (/redTeams/runs). The new Foundry portal uses a separate evaluation-
    based API not yet available in the .NET SDK. AzureAIAgentTarget exists
    in the SDK but is consumed by the Evaluation Taxonomy API, not RedTeam.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Address PR review comments on Step02 SelfReflection
    
    - Pass full prompt (with context) to evaluator messages instead of just
      the question, so evaluator input matches what the agent received
    - Include previous response text in self-reflection refinement prompt
      so the LLM can meaningfully improve its answer across iterations
    - Inline CreateKnowledgeAgent helper (single use, single statement)
    - Add comment clarifying why RunCombinedQualityAndSafetyEvaluation
      intentionally passes only the question (no context)
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • .NET: Update Microsoft.Agents.ObjectModel packages to 2026.2.2.1 (#4003)
    * Initial plan
    
    * Update Microsoft.Agents.ObjectModel packages to version 2026.2.2.1
    
    Co-authored-by: peibekwe <109177538+peibekwe@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: peibekwe <109177538+peibekwe@users.noreply.github.com>
  • .NET: Update GitHub.Copilot.SDK to 0.1.23 and copy new session config prope… (#3788)
    * Update GitHub.Copilot.SDK to 0.1.23 and copy new session config properties
    
    - Bump GitHub.Copilot.SDK from 0.1.18 to 0.1.23
    - Add new SessionConfig properties: ReasoningEffort, Hooks, OnUserInputRequest,
      WorkingDirectory, ConfigDir, InfiniteSessions
    - Add missing ResumeSessionConfig properties: Model, SystemMessage,
      AvailableTools, ExcludedTools, ReasoningEffort, Hooks, OnUserInputRequest,
      WorkingDirectory, ConfigDir, InfiniteSessions
    - Fix UserMessageDataAttachmentsItem -> UserMessageDataAttachmentsItemFile
      for new polymorphic attachment API
    - Add unit tests for new session config properties
    
    * Address PR review: centralize config mapping and improve test coverage
    
    - Extract CopySessionConfig/CopyResumeSessionConfig as internal static helpers
      to eliminate duplicated mapping logic between RunCoreStreamingAsync and
      CreateResumeConfig (addresses reviewer comment on drift risk)
    - Add InternalsVisibleTo for unit test project
    - Replace shallow constructor tests with comprehensive property-verification
      tests that validate every config property is correctly copied, including
      OnUserInputRequest (addresses reviewer comments on test coverage)
    
    * Remove accidentally committed git-lfs hooks
  • .Net: Update Anthropic and Anthropic.Foundry package versions (#3517)
    * Initial plan
    
    * Update Anthropic packages to v12.3.0 and Anthropic.Foundry to v0.4.1
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Fix AnthropicClient not being disposed in sample
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
  • .NET - [Breaking]: Update Declarative Object Model + Dependencies (#3017)
    * Builds locally and tests pass
    
    * Fix typo
    
    * Reverted nuget config change to remove internal feed and map to new public object model package with renames.
    
    * Renaming Bot object model in additional sample.
    
    ---------
    
    Co-authored-by: Peter Ibekwe <peibekwe@microsoft.com>
  • .NET: Add AIAgent implementation for GitHub Copilot SDK (#3395)
    * Initial plan
    
    * Add GitHub Copilot SDK AIAgent implementation with tests
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Add projects to solution and fix sample imports
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Improve pragma comment clarity in GithubCopilotAgentThread
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Address PR feedback: internal constructor/setter, remove CopilotClientOptions ctor, streaming improvements, better sample, container warning
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Add ownsClient parameter to allow caller control over client disposal
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Fix unit tests by removing await using to avoid StreamJsonRpc disposal issues
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Fix file encoding: add UTF-8 BOM to Program.cs
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Fix dotnet-format errors: UTF-8 BOM, remove unused logger, add this qualifier, remove unnecessary usings
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Fix test file encoding and remove redundant cast
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Add AsAIAgent extension methods for CopilotClient with tests
    
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    
    * Remove IL suppressions, use TryComplete for channel writer, remove TCS from streaming
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Keep session alive across calls, add tools overload, add tests
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Revert session persistence changes - sessions dispose after each call
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Add CreatedAt property mapping using DateTimeOffset.UtcNow
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Add DataContent handling via temp files and attachments
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Fix formatting: remove extra indentation, simplify Path references, remove unused using
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Refactor: extract helper methods to reduce duplication in DataContent handling
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Updated sample and session config mapping
    
    * Added instructions parameter
    
    * Updated README
    
    * Address PR feedback: reorder params, optimize dictionary, update prefix, remove InternalsVisibleTo, update sample prompts, add defaults
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Remove StreamJsonRpc reference from sample project
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Fix parameter ordering: tools now after description, rename to s_mediaTypeExtensions, simplify extension logic, update prompts, fix test expectations
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Fix streaming prompt: change Python to C# for Fibonacci example
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Handle all SDK events, add UsageContent support, fix model name, remove AutoStart, add using for Channels
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    * Resolved build errors
    
    * Addressed comments
    
    * Small fix
    
    * Addressed comment
    
    * Small fix
    
    * Addressed comments
    
    * Added integration tests
    
    * Small update
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: westey-m <164392973+westey-m@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
  • Python: .NET: Executor source gen for workflow executor routing (#3131)
    * Roslyn Source Generators for Workflow Executor Routing.
    
    * Update dotnet/src/Microsoft.Agents.AI.Workflows.Generators/ExecutorRouteGenerator.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * WIP.
    
    * All fixed up except dangling sends/yields attriutes, working on that next.
    
    * Add protocol-only generation for SendsMessage/YieldsOutput attributes
    
    * Ensuring collections that can change order are sorted to enable pipeline caching.
    
    * Improvents per PR feedback.
    
    ---------
    
    Co-authored-by: alliscode <bentho@microsoft.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Update Microsoft.Extensions.AI.* packages to 10.2.0 (#3211)
    * Initial plan
    
    * Update Microsoft.Extensions.AI.* to 10.2.0 and fix timestamp behavior tests
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
  • .NET: Update Google.GenAI to 0.11.0 and remove polyfill implementations (#3232)
    * Initial plan
    
    * Update Google.GenAI to 0.11.0 and remove polyfill files
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
  • Bump Google.GenAI from 0.6.0 to 0.9.0 (#2995)
    ---
    updated-dependencies:
    - dependency-name: Google.GenAI
      dependency-version: 0.9.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Bump Anthropic from 12.0.0 to 12.0.1 (#2993)
    ---
    updated-dependencies:
    - dependency-name: Anthropic
      dependency-version: 12.0.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.5 to 4.0.5.1 (#2994)
    ---
    updated-dependencies:
    - dependency-name: AWSSDK.Extensions.Bedrock.MEAI
      dependency-version: 4.0.5.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: [Durable Agents] Reliable streaming sample (#2942)
    * .NET: [Durable Agents] Reliable streaming sample
    
    * Add automated validation for new sample
    
    * Address Copilot PR feedback
  • .NET: Use GrpcEntityRunner instead of TaskEntityDispatcher (#2759)
    * Use GrpcEntityRunner instead of TaskEntityDispatcher
    
    * Pin to Durable worker 1.11.0
    
    * Set the invocation result
    
    * Update all Durable packages
    
    * Update changelog, rename dispatcher to encondedEntityRequest
  • Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.4.11 to 4.0.5 (#2853)
    ---
    updated-dependencies:
    - dependency-name: AWSSDK.Extensions.Bedrock.MEAI
      dependency-version: 4.0.5
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • Bump CommunityToolkit.Aspire.OllamaSharp from 13.0.0-beta.440 to 13.0.0 (#2856)
    ---
    updated-dependencies:
    - dependency-name: CommunityToolkit.Aspire.OllamaSharp
      dependency-version: 13.0.0
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • .NET: Update Anthropic package to version 12.0.0 (#2914)
    * Initial plan
    
    * Update Anthropic package to version 12.0.0
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
  • .NET: Update to latest Azure.AI.*, OpenAI, and M.E.AI* (#2850)
    * Update to latest Azure.AI.*, OpenAI, and M.E.AI*
    
    Absorb breaking changes in Responses surface area
    
    * Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs
    
    * Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs
    
    * Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs
    
    * Update dotnet/samples/GettingStarted/AgentWithOpenAI/Agent_OpenAI_Step04_CreateFromOpenAIResponseClient/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Using patch to remove the model is necessary, updated the response client to actually use the the ForAgent
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
  • Bump Azure.Identity from 1.17.0 to 1.17.1 (#2780)
    ---
    updated-dependencies:
    - dependency-name: Azure.Identity
      dependency-version: 1.17.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.Identity
      dependency-version: 1.17.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.Identity
      dependency-version: 1.17.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.Identity
      dependency-version: 1.17.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.4.7 to 4.0.4.11 (#2777)
    ---
    updated-dependencies:
    - dependency-name: AWSSDK.Extensions.Bedrock.MEAI
      dependency-version: 4.0.4.11
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Update Microsoft.Extensions.AI.* packages to 10.1.0 (#2735)
    * Initial plan
    
    * Update Microsoft.Extensions.AI dependencies to latest versions (10.1.0)
    
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: stephentoub <2642209+stephentoub@users.noreply.github.com>
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
  • Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.4.6 to 4.0.4.7 (#2173)
    ---
    updated-dependencies:
    - dependency-name: AWSSDK.Extensions.Bedrock.MEAI
      dependency-version: 4.0.4.7
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Bump Aspire.Microsoft.Azure.Cosmos from 13.0.1 to 13.0.2 (#2625)
    ---
    updated-dependencies:
    - dependency-name: Aspire.Microsoft.Azure.Cosmos
      dependency-version: 13.0.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Bump Azure.AI.OpenAI from 2.7.0-beta.1 to 2.7.0-beta.2 (#2626)
    ---
    updated-dependencies:
    - dependency-name: Azure.AI.OpenAI
      dependency-version: 2.7.0-beta.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.AI.OpenAI
      dependency-version: 2.7.0-beta.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.AI.OpenAI
      dependency-version: 2.7.0-beta.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: Azure.AI.OpenAI
      dependency-version: 2.7.0-beta.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: Change Anthropic Azure sample to use Athropic.Foundry package + cachi… (#2578)
    * Change Anthropic Azure sample to use Athropic.Foundry package + caching token
    
    * Fix apikey null
    
    * Update dotnet/samples/GettingStarted/AgentProviders/Agent_With_Anthropic/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address copilot feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Fix samples for hosted agents (#2550)
    * update .net sdk and runtime images and update nuget packages to the latests versions
    
    * align version of roslyn analyzers
    
    * unlock roslyn analyzer packages
  • Bump Aspire.Hosting.Azure.CognitiveServices from 13.0.0 to 13.0.1 (#2528)
    ---
    updated-dependencies:
    - dependency-name: Aspire.Hosting.Azure.CognitiveServices
      dependency-version: 13.0.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • .NET: Add Google ChatClientAgent provider sample using with Gemini model (#2554)
    * Add Gemini model sample
    
    * Update Readme
    
    * Address Comments
    
    * Address format
  • Bump Anthropic from 10.2.1 to 10.4.0 (#2492)
    ---
    updated-dependencies:
    - dependency-name: Anthropic
      dependency-version: 10.4.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • .NET: Add Cosmos DB implementations for ChatMessageStore and CheckpointStore. (#1838)
    * draft commit
    
    * Added Cosmos agent thread and tests
    
    * revert unnecessary changes and fix tests
    
    * add multi-tenant support with hierarchical partition keys (and tests).
    
    * enhance transactional batch
    
    * address review comments
    
    * Address PR review comments from @westey-m
    
    * Merge upstream/main - resolve slnx conflicts
    
    * use param validation helpers
    
    * Replace useManagedIdentity boolean with TokenCredential parameter
    
    * Remove redundant suppressions and fix tests
    
    * Rename project from Microsoft.Agents.AI.Abstractions.CosmosNoSql to Microsoft.Agents.AI.CosmosNoSql
    
    * Refactor constructors to use chaining pattern
    
    * Reorder deserialization constructor parameters for consistency
    
    * Remove database/container IDs from serialized state
    
    * Remove auto-generation of MessageId
    
    * Optimize AddMessagesAsync to avoid enumeration when possible
    
    * Add MaxMessagesToRetrieve to limit context window
    
    * Make Role nullable instead of defaulting
    
    * Fix net472 build without rebasing 19 commits
    
    * Add Cosmos DB emulator to CI workflow
    
    * Fix Cosmos DB emulator tests: use Skip.If instead of Assert.Fail and start emulator before unit tests
    
    * Replace Skip.If() with conditional return to fix compilation
    
    * Use env var to skip Cosmos tests on non-Windows CI
    
    * Add Xunit.SkippableFact package to properly skip Cosmos tests on Linux
    
    * Change [Fact] to [SkippableFact] for proper test skipping behavior
    
    * Remove stale Microsoft.Agents.AI.Abstractions.CosmosNoSql directory
    
    * Fix code formatting: add braces, this. qualifications, and final newlines
    
    * Fix file encoding to UTF-8 with BOM, fix import ordering, and remove unnecessary using directives
    
    * Convert backing fields to auto-properties and remove Azure.Identity using directive
    
    * Fix CosmosChatMessageStore.cs encoding back to UTF-8 with BOM
    
    * Fix test file formatting: indentation, encoding, imports, this. qualifications, naming conventions, and simplify new expressions
    
    * Fix const field naming violations: Remove s_ prefix from const fields and add this. qualification to Dispose call
    
    * Add local .editorconfig for Cosmos DB tests to suppress IDE0005 false positives from multi-targeting
    
    * Fix IDE1006 naming violations: Rename TestDatabaseId to s_testDatabaseId and add final newlines
    
    * Address PR review comments
    
    Address Wesley's review comments:
    
    - Remove Cosmos DB package references from core projects
    
    - Delete duplicate test files from old package structure
    
    - Remove redundant parameter validation from extension methods
    
    Address Kiran's review comments:
    
    - Remove redundant 429 retry logic (SDK handles automatically)
    
    - Add explicit RequestEntityTooLarge error handling
    
    - Remove dead code in GetMessageCountAsync
    
    - Add defensive partition key validation comments
    
    * Fix IDE0001 formatting error in AgentProviderExtensions.cs. Use type alias to resolve namespace conflict between Azure.AI.Agents.Persistent.RunStatus and Microsoft.Agents.AI.Workflows.RunStatus. This eliminates the need for global:: qualifier which triggered the formatter warning.
    
    * Update package versions for Aspire 13.0.0 compatibility
    
    * Fix TargetFrameworks in Cosmos DB projects
    
    - Replace  with  which is defined in Directory.Build.props
    - Fix package reference from System.Linq.Async to System.Linq.AsyncEnumerable to match Directory.Packages.props
    
    * Remove redundant counter, add partition key validation, use factory pattern for deserialization
  • .NET: Add Anthropic Agent Package (#2359)
    * WIP
    
    * WIP
    
    * Simple call working
    
    * Update Thinking sample
    
    * Non-Streaming Function calling working
    
    * Update Anthropic Impl
    
    * Public Preps
    
    * UT + IT working
    
    * Update documentation + samples
    
    * Update variable
    
    * Revert nuget.config
    
    * Add IT for BetaService implementation
    
    * Remove polyfill + enable IT to run for netstandard 2.0
    
    * Skipping Anthropic IT's for manual execution and avoid pipeline execution
    
    * Fix compilation error
    
    * Address error in UT
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix warning
    
    * Net 10 update
    
    * Update for NET 10, remove Anthropic.Foundry due to vulnerability
    
    * Final missing adjustments for NET 10
    
    * Address PR comments
    
    * Remove unused code
    
    * Address feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Upgrade to .NET 10 (#2128)
    * Upgrade to .NET 10
    
    - Require .NET 10 SDK
    - Include net10.0 assets in all assemblies
    - Move net9.0-only targets to net10.0
    - Update LangVersion to latest
    - Remove complicated distinctions between debug target TFMs and release target TFMs
    - Remove unnecessary package dependencies when built into netcoreapp
    - Clean up some ifdefs
    - Clean up some analyzer warnings
    
    * Fix CI
  • .NET: Add M365 Agent SDK Hosting sample (#2221)
    * Add M365 Agent SDK interop sample
    
    * Update dotnet/samples/M365Agent/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address some comments.
    
    * Update dotnet/samples/M365Agent/Agents/WeatherForecastAgent.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/M365Agent/Agents/WeatherForecastAgentResponse.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/M365Agent/Agents/WeatherForecastAgentResponse.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address PR comments
    
    * Refactor code to simplify.
    
    * Fix broken link.
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Bump CommunityToolkit.Aspire.OllamaSharp from 13.0.0-beta.435 to 13.0.0-beta.440 (#2253)
    ---
    updated-dependencies:
    - dependency-name: CommunityToolkit.Aspire.OllamaSharp
      dependency-version: 13.0.0-beta.440
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Bump Azure.AI.Projects from 1.2.0-beta.1 to 1.2.0-beta.3 (#2252)
    ---
    updated-dependencies:
    - dependency-name: Azure.AI.Projects
      dependency-version: 1.2.0-beta.3
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • .NET: Add Microsoft.Agents.AI.AzureAI (Azure.AI.Project 1.2) Support (#1662)
    * WIP
    
    * Fixed build errors (#1638)
    
    Comment and nullable type alignment
    
    * .NET: Azure.AI.Agents Package Split + Initial Extensions (#1657)
    
    * Move packages
    
    * Update nuget.config
    
    * Address Xmldoc
    
    * Remove format from branches checks
    
    * Address Xmldocs
    
    * Add more details to the implementation
    
    * Moving Agent logic to ChatClient
    
    * Adding Name and Id overrides to AzureAIAgent
    
    * Updating extensions
    
    * Add GetAiAgent extensions
    
    * Adding support for version as name can conflict 409 using the Agents API with same name
    
    * Addressing more updates to the extensions
    
    * More improvements
    
    * Remove debugging code from sample
    
    * Address copilot feedback
    
    * Apply suggestions from co-pilot code review
    
    * Update Directory.Packages.props
    
    Fix package version rollback:
    
    Azure.AI.Agents.Persistent (beta-6 => beta-7)
    
    * .NET: Add comprehensive unit tests for Microsoft.Agents.AI.AzureAIAgents extension methods (#1786)
    
    * Initial plan
    
    * Add comprehensive unit test project for Microsoft.Agents.AI.AzureAIAgents
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Add README documenting test project and package dependency requirements
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Fix documentation URL to use learn.microsoft.com
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Bump back AAAP 1.2.0-beta.7
    
    * Address AI generated UT's
    
    * Remove UT Readme
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * .NET: Change model to be required just for prompt agent definition specific extensions (#1812)
    
    * Remove unneeded model from extensions
    
    * Add noop justification
    
    * Update Package Nameing: V1 -> AzureAI.Persistent / V2 -> AzureAI (#1829)
    
    * .NET: Update Extensions for Strict Agent Definitions + Improvements (#1892)
    
    * Update Package Nameing: V1 -> AzureAI.Persistent / V2 -> AzureAI
    
    * Update agents and extensions to comply with strict agent definitions
    
    * More static updates
    
    * Address UT, and ResponseTool support
    
    * Improving reusability extensions
    
    * Addressing ResponseTools Unit Tests and extension setup
    
    * Adapted workaround on breaking AAA with OpenAI 2.6.0
    
    * Small updates
    
    * Remove strictness when retrieving agents, improved XmlDocs
    
    * Improve sample comments
    
    * Update dotnet/tests/Microsoft.Agents.AI.AzureAI.UnitTests/AgentsClientExtensionsTests.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestion from @Copilot
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestion from @Copilot
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address PR comments
    
    * Address UT failing
    
    * Address Copilot feedback
    
    * Address Copilot feedback
    
    * Address comment typo
    
    * Address PR feedback
    
    * Address typo
    
    * Add missing Extensions with ChatClientAgentOptions
    
    * Address comments
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Version update (#1901)
    
    * Updated package version (#1906)
    
    * .NET: Allow Declarative AIAgents Extensions (#1931)
    
    * Improve reusability of extension code and additional option to losen the strictiness of in-proc tools
    
    * Add missing UT scenarios
    
    * Add missing UT test scenarios
    
    * Normalize changes
    
    * Updated (#1948)
    
    * .NET: AgentDefinition extensions method simplification (#1967)
    
    * Update extensions methods that accepts AgentDefinition type to not be restrictive
    
    * Update Unit Tests
    
    * Revert yarn/package-lock
    
    * Revert yarn/package-lock
    
    * Address copilot feedback
    
    * Fix bad merge
    
    * .NET Workflows - WIP Declarative action update (#1761)
    
    * WIP
    
    * Fixed build errors (#1638)
    
    Comment and nullable type alignment
    
    * Sync to SDK update
    
    * Checkpoint
    
    * Checkpoint: Tests passing
    
    * Checkpoint: EndWorkflow
    
    * Add trace
    
    * .NET: Azure.AI.Agents Package Split + Initial Extensions (#1657)
    
    * Move packages
    
    * Update nuget.config
    
    * Address Xmldoc
    
    * Remove format from branches checks
    
    * Address Xmldocs
    
    * Add more details to the implementation
    
    * Moving Agent logic to ChatClient
    
    * Adding Name and Id overrides to AzureAIAgent
    
    * Updating extensions
    
    * Add GetAiAgent extensions
    
    * Adding support for version as name can conflict 409 using the Agents API with same name
    
    * Addressing more updates to the extensions
    
    * More improvements
    
    * Remove debugging code from sample
    
    * Address copilot feedback
    
    * Apply suggestions from co-pilot code review
    
    * Checkpoint
    
    * Update Directory.Packages.props
    
    Fix package version rollback:
    
    Azure.AI.Agents.Persistent (beta-6 => beta-7)
    
    * Add project reference
    
    * .NET: Add comprehensive unit tests for Microsoft.Agents.AI.AzureAIAgents extension methods (#1786)
    
    * Initial plan
    
    * Add comprehensive unit test project for Microsoft.Agents.AI.AzureAIAgents
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Add README documenting test project and package dependency requirements
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Fix documentation URL to use learn.microsoft.com
    
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Bump back AAAP 1.2.0-beta.7
    
    * Address AI generated UT's
    
    * Remove UT Readme
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: rogerbarreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * .NET: Change model to be required just for prompt agent definition specific extensions (#1812)
    
    * Remove unneeded model from extensions
    
    * Add noop justification
    
    * Update Package Nameing: V1 -> AzureAI.Persistent / V2 -> AzureAI (#1829)
    
    * Checkpoint for merge
    
    * No build errors
    
    * .NET: Update Extensions for Strict Agent Definitions + Improvements (#1892)
    
    * Update Package Nameing: V1 -> AzureAI.Persistent / V2 -> AzureAI
    
    * Update agents and extensions to comply with strict agent definitions
    
    * More static updates
    
    * Address UT, and ResponseTool support
    
    * Improving reusability extensions
    
    * Addressing ResponseTools Unit Tests and extension setup
    
    * Adapted workaround on breaking AAA with OpenAI 2.6.0
    
    * Small updates
    
    * Remove strictness when retrieving agents, improved XmlDocs
    
    * Improve sample comments
    
    * Update dotnet/tests/Microsoft.Agents.AI.AzureAI.UnitTests/AgentsClientExtensionsTests.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestion from @Copilot
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestion from @Copilot
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address PR comments
    
    * Address UT failing
    
    * Address Copilot feedback
    
    * Address Copilot feedback
    
    * Address comment typo
    
    * Address PR feedback
    
    * Address typo
    
    * Add missing Extensions with ChatClientAgentOptions
    
    * Address comments
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Updated package version (#1897)
    
    * Version update (#1901)
    
    * Checkpoint
    
    * Updated package version (#1906)
    
    * Checkpoint
    
    * Checkpoint
    
    * Checkpoint
    
    * Align with azure ai agent
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/StudentTeacher/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/MCPToolApproval/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/DeepResearch/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Refactored external input
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/MCPToolApproval/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Agent tools patch
    
    * Demos validated
    
    * Checkpoint
    
    * Hygiene
    
    * Checkpoint - Samples
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/StudentTeacher/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/StudentTeacher/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Checkpoint
    
    * Checkpoint - Deep Research
    
    * Update baseline
    
    * Update
    
    * Typo
    
    * Checkpoint
    
    * Typos
    
    * Sample cleanup
    
    * Update dotnet/src/Microsoft.Agents.AI.Workflows.Declarative/AzureAgentProvider.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/src/Microsoft.Agents.AI.AzureAI/AgentsClientExtensions.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/FunctionTools/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/StudentTeacher/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/ToolApproval/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/DeepResearch/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Typo
    
    * Typo
    
    * Fix input loop
    
    * Sample - Function Calling / External Input
    
    * Typo
    
    * Finessed
    
    * Checkpoint
    
    * Fix feed
    
    * Checkpoint - so close
    
    * Ding dong!
    
    * "there" ***
    
    * Fixup comments
    
    * Fix sample
    
    * Code analysis
    
    * Header
    
    * Typo (variableName)
    
    * Remove dead code
    
    * Skip test (agent api ratchet)
    
    * Comment
    
    * Update dotnet/samples/GettingStarted/Workflows/Declarative/StudentTeacher/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Typo
    
    ---------
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    
    * .NET: Latest updates Pre/Post V2 Bugbash Findings (#2040)
    
    * Improve V2 logic before/after bugbash prep
    
    * Apply suggestions from code review
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * .NET: Update Foundry Agents to latest 2.0.0 alpha.20251107.3 (#2050)
    
    * Update extensions for new CreateVersionOptions structure
    
    * Update unit tests
    
    * Addresss capitalized
    
    * Update AgentsClientExtensionsTests.cs
    
    Fix invalid cast format failure
    
    * .NET: Feature foundry agent + user agent (#2058)
    
    * Update unit tests
    
    * Add user-agent protocol calls
    
    * Update unit tests
    
    * Update unit tests with http handler confirmation
    
    * UT fix
    
    * Fix xmldoc
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address copilot feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * .NET: Update Extensions to be less restrictive for GetAIAgents (#2091)
    
    * Update behavior / restrictiveness when retrieving agents
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address format
    
    * Address copilot feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    
    * .NET Workflows - Support "structured inputs" feature for declarative workflows (#2053)
    
    * Bump version for release
    
    * .NET Workflows - Separate Foundry/AzureAI Provider into its own package (#2078)
    
    * Remove unused using directive in AzureAgentProvider
    
    Removed unused using directive for Extensions.
    
    * .NET: Updates to Foundry Agents Package (#2125)
    
    * Remove the conversation creation always
    
    * Update unit tests + address IL + refactor
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Internalize unused methods
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix declarative workflows integration testcase
    
    * .NET: Feature foundry agent/agent reference extension (Python Parity with Name + Version option) (#2147)
    
    * Add agent reference extensions
    
    * Add UT covering AgentReference and ModelId
    
    * .NET: Add GettingStarted Samples for Agents V2. (#2159)
    
    * Add gettingstarted samples for Foundry Agents
    
    * Address structured outputs
    
    * Net 10 -> Net 9 Temporary
    
    * Net 10 -> Net 9 Temporary
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address missing docs + old
    
    * Drop var for samples
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address copilot feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * .NET: Foundry Agents V2 - Add CodeInterpreter Sample (#2180)
    
    * Adding Code Interpreter sample and AgentName naming validation
    
    * Add agent name check UT
    
    * Improve sample code
    
    * Apply suggestion
    
    * Apply suggestion
    
    * Fixed (#2190)
    
    * .NET Workflows - Add "CustomerSupport" sample (#2102)
    
    * .NET Workflows - Add sample for hosted declarative workflow (#2199)
    
    * fwiw
    
    * Less blank lines
    
    * Fixed (#2204)
    
    * Update version (#2206)
    
    * .NET: Feature foundry agent/update breaking v2.0 to v1.2 (#2212)
    
    * Migration WIP Checkpoint 1
    
    * Build + UT + Workflow passing
    
    * Address latest commits after break
    
    * Revert rename in unrelated files
    
    * Address PR comments
    
    * Class renames
    
    * Allow dotnet-format workflow on feature branches
    
    Revert unintentional edit
    
    * .NET: Add Conformance Integration Tests for AzureAI Package (#2237)
    
    * Conformance tests added and passing
    
    * Correct namespace
    
    * Update Azure.AI.Project to latest public nuget version
    
    * .NET: Added Computer use tool sample (#2235)
    
    * Initial computer use sample implementation.
    
    * Added background thread to allow polling for long running requests.
    
    * Removed unrequired try-catch block and added missing thread for agent call.
    
    * Removed irrelevant chatOptions and updated code based on feedback.
    
    * Updated image assets and fixed response issue.
    
    * Updated based on PR comments.
    
    * Update to Azure.AI.Project
    
    ---------
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * Package descriptions
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    Co-authored-by: Chris Rickman <crickman@microsoft.com>
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
    Co-authored-by: Peter Ibekwe <109177538+peibekwe@users.noreply.github.com>