Commit Graph

6 Commits

  • .NET: Update models used in dotnet samples to gpt-5.4-mini (#5080)
    * Update models used in dotnet samples to gpt-5.4-mini
    
    * Fix additional missed sample
  • .NET: Rename Microsoft.Agents.AI.AzureAI to Microsoft.Agents.AI.Foundry and consolidate FoundryMemory (#5042)
    * Update Foundry Responses as ChatClientAgent
    
    * Migrate obsolete AzureAI integration tests to versioned agent pattern
    
    Replace obsolete CreateAIAgentAsync/GetAIAgentAsync calls with
    Agents.CreateAgentVersionAsync() + AsAIAgent(AgentVersion) in all
    AzureAI integration tests.
    
    - Rename AIProjectClient* test files to FoundryVersionedAgent*
    - Register AIFunction tools in PromptAgentDefinition.Tools for
      server-side visibility via AsOpenAIResponseTool()
    - Skip structured output tests (AzureAIProjectChatClient clears
      ResponseFormat for versioned agents)
    - Remove all [Obsolete] attributes and #pragma warning disable CS0618
    
    * Merge FoundryMemory package into AzureAI under Memory/ folder
    
    Move all FoundryMemory source, unit tests, and integration tests into
    the Microsoft.Agents.AI.AzureAI package. Change namespace from
    Microsoft.Agents.AI.FoundryMemory to Microsoft.Agents.AI.AzureAI.
    
    - Add [Experimental] to FoundryMemoryProviderOptions and Scope
    - Rename internal AIProjectClientExtensions to MemoryStoreExtensions
    - Update AzureAI .csproj with Compliance.Abstractions, Redaction
    - Remove FoundryMemory from solution and release filter
    - Update sample to reference AzureAI instead of FoundryMemory
    - Delete old Microsoft.Agents.AI.FoundryMemory project and tests
    
    * Add EnsureMemoryStoreCreatedAsync and memory existence checks to integration tests
    
    - Ensure memory store is created before testing memory operations
    - Add AZURE_AI_EMBEDDING_DEPLOYMENT_NAME config setting
    - Assert memories exist in store via SearchMemoriesAsync before cleanup
    - Verify scope isolation with direct memory store queries
    
    * Fix and rename AzureAI unit tests for RAPI vs Versioned clarity
    
    - Rename AsAIAgentAsync_* to AsAIAgent_* (drop Async from method group)
    - Add _Rapi_ prefix to non-versioned (Responses API) tests
    - Add _Versioned_ prefix to versioned agent tests where needed
    - Fix RAPI tests: assert GetService<AIProjectClient>() is null
    - Fix Versioned tests: assert IsType<FoundryAgent> and
      GetService<AIProjectClient>() returns the client instance
    - Fix UserAgent header tests: proper HTTP handler routing
    - Fix ChatClient_UsesDefaultConversationIdAsync test setup
    - All 153 unit tests pass with 0 failures
    
    * Rename Microsoft.Agents.AI.AzureAI to Microsoft.Agents.AI.Foundry
    
    Rename the project, namespace, folder, and all references from
    Microsoft.Agents.AI.AzureAI to Microsoft.Agents.AI.Foundry.
    Also rename Workflows.Declarative.AzureAI to .Foundry.
    
    - Rename src, unit test, integration test, and workflow folders
    - Update namespaces in all source and test .cs files
    - Update ProjectReferences in ~47 sample and test .csproj files
    - Update solution files (.slnx, .slnf)
    - Update sample using statements
    - Update READMEs, SKILL.md, ADRs in docs/
    - Disable package validation baseline for renamed packages
    - Fix UTF-8 BOM encoding on all affected .cs files
    - AzureAI.Persistent left completely unchanged
    
    * Fix format: remove ImplicitUsings, add explicit usings, fix BOM encoding
    
    - Remove ImplicitUsings=enable from Foundry csproj to resolve IDE0005
      on shared ReplacingRedactor.cs
    - Add explicit System usings to all source files that relied on them
    - Sort usings alphabetically per editorconfig rules
    - Fix UTF-8 BOM on 12 sample Program.cs files
    - Rename Azure AI Foundry Agents to Microsoft Foundry Agents in docs
  • .NET: Replace Azure Foundry/Azure AI Foundry with Microsoft Foundry in .NET samples (#5032)
    * Replace Azure Foundry/Azure AI Foundry with Microsoft Foundry in samples
    
    Update all .cs, .md, and .yaml files in dotnet/samples/ to use
    'Microsoft Foundry' instead of 'Azure Foundry' and 'Azure AI Foundry'.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/02-agents/AgentWithMemory/AgentWithMemory_Step04_MemoryUsingFoundry/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/02-agents/Agents/Agent_Step15_DeepResearch/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/05-end-to-end/A2AClientServer/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/02-agents/Agents/Agent_Step15_DeepResearch/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/03-workflows/Agents/FoundryAgent/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/02-agents/AgentProviders/Agent_With_AzureAIProject/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix grammar: 'an Microsoft' -> 'a Microsoft', 'agents ids' -> 'agent IDs'
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Update Hosted Samples References to latest beta.11 (#4853)
    * Bump HostedAgents samples to AgentFramework beta.11 and pass credential to UseFoundryTools
    
    Update all 8 HostedAgents samples:
    - Azure.AI.AgentServer.AgentFramework -> 1.0.0-beta.11
    - Microsoft.Agents.AI.OpenAI -> 1.0.0-rc4
    - Microsoft.Agents.AI/AzureAI/Workflows -> 1.0.0-rc4
    - Azure.AI.Projects -> 2.0.0-beta.1
    - Fix Workflow.AsAgent() -> AsAIAgent() in FoundryMultiAgent
    - Pass credential to UseFoundryTools in AgentWithTools (resolves #56802)
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Remove AgentWithTools sample (UseFoundryTools no longer supported)
    
    Remove the AgentWithTools hosted agent sample as the UseFoundryTools
    backend is no longer supported. Updated HostedAgents README and solution
    file to remove all references.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix AgentWithHostedMCP: downgrade Azure.AI.OpenAI to 2.8.0-beta.1 for rc4 compatibility
    
    Azure.AI.OpenAI 2.9.0-beta.1 has breaking changes (GetResponsesClient no
    longer accepts deployment name, ResponsesClient.Model removed) that are
    incompatible with Microsoft.Agents.AI.OpenAI rc4. Pin to 2.8.0-beta.1 and
    use GetResponsesClient(deploymentName).AsAIAgent() pattern.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • Fix hosted agent samples Docker build failures due to experimental API warnings (#4641)
    Add #pragma warning disable directives to suppress experimental API
    diagnostics that cause build errors in Docker isolation (where repo-level
    Directory.Build.props is not inherited):
    
    - AgentWithHostedMCP: suppress MEAI001 (HostedMcpServerTool) and OPENAI001
      (GetResponsesClient)
    - FoundrySingleAgent: suppress CA2252 (AIProjectClient preview features)
    - FoundryMultiAgent: suppress CA2252 (AIProjectClient preview features)
    
    Fixes #4365
  • .NET: Add foundry extension samples for python and dotnet (#4359)
    * Add foundry extension samples for python and dotnet
    
    * Align foundry extension samples with existing hosted agent patterns
    
    - Fix Python multiagent indentation bug (from_agent_framework ran in both modes)
    - Remove hardcoded personal endpoint from appsettings.Development.json
    - Rename .NET folders/projects to PascalCase (FoundryMultiAgent, FoundrySingleAgent)
    - Upgrade .NET multiagent from net9.0 to net10.0
    - Add ManagePackageVersionsCentrally=false and analyzer blocks to .csproj files
    - Replace wildcard package versions with fixed versions
    - Use alpine Docker images and standard build pattern
    - Align agent.yaml structure (template nesting, displayName, resources, authors)
    - Convert .NET multiagent from namespace/class to top-level statements
    - Add run-requests.http for multiagent sample
    - Fix Python requirements.txt (remove dev deps, add agent-framework)
    - Add proper copyright headers
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Align foundry samples: fix builds, upgrade AgentServer to beta.8
    
    - Fix TargetFrameworks (plural) to override inherited net472 from Directory.Build.props
    - Upgrade Azure.AI.AgentServer.AgentFramework to 1.0.0-beta.8 (latest)
    - Bump OpenTelemetry packages to 1.12.0 (required by beta.8)
    - Fix Roslynator/format errors (imports ordering, BOM, sealed record, target-typed new)
    - Verified with docker dotnet format (matching CI pipeline)
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Refactor hosted samples to use AIProjectClient.CreateAIAgentAsync
    
    Replace PersistentAgentsClient and manual AzureOpenAIClient setup with
    AIProjectClient.CreateAIAgentAsync() from Microsoft.Agents.AI.AzureAI.
    
    - FoundryMultiAgent: Remove Azure.AI.Agents.Persistent, use CreateAIAgentAsync
      for Writer and Reviewer agents with cleanup in finally block
    - FoundrySingleAgent: Remove manual GetConnection/AzureOpenAIClient chain,
      use CreateAIAgentAsync with hotel search tool
    - Update csproj: add Microsoft.Agents.AI.AzureAI, remove unused packages
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Update READMEs to reflect AIProjectClient.CreateAIAgentAsync usage
    
    - Reference Microsoft.Agents.AI.AzureAI and Microsoft.Agents.AI.Workflows packages
    - Add Azure AI Developer role requirement for agents/write data action
    - Replace PersistentAgentsClient references
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add HostedAgents READMEs and Foundry samples to solution
    
    - Create dotnet/samples/05-end-to-end/HostedAgents/README.md with sample index
    - Create python/samples/05-end-to-end/hosted_agents/README.md with sample index
    - Add FoundryMultiAgent and FoundrySingleAgent to agent-framework-dotnet.slnx
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix Python linting: reorder imports before load_dotenv, remove trailing whitespace
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Update uv.lock to match latest package versions
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Fix trailing whitespace in foundry_single_agent agent.yaml
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Exclude dotnet.microsoft.com from link checker
    
    This domain intermittently times out in CI, causing flaky markdown
    link check failures unrelated to PR changes.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Align env vars to AZURE_AI_PROJECT_ENDPOINT and default model to gpt-4o-mini
    
    Addresses PR review feedback:
    - Rename PROJECT_ENDPOINT to AZURE_AI_PROJECT_ENDPOINT across all
      Foundry samples (dotnet + python) to match existing samples
    - Change default model from gpt-4.1-mini to gpt-4o-mini consistently
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Skip flaky test CreatesWorkflowEndToEndActivities_WithCorrectName_DefaultAsync
    
    Tracked in #4398
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Remove Python foundry samples from PR scope
    
    Python hosted agent samples need further alignment with the azure-ai
    package conventions. Removing from this PR to ship .NET samples first.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Narrow linkspector exclusion to dotnet.microsoft.com/download only
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Leo Yao <leoyao@Leos-MacBook-Pro.local>
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>