Commit Graph

15 Commits

  • .Net: Add OpenTelemetry Support and Samples (#182)
    * Adding sample and implementation similar to MEAI approach
    
    * Add Telemetry UnitTests
    
    * Fix Async suffix
    
    * Add ADR with the proposal
    
    * Address merge changes
    
    * Fixing const visibility + coverage
    
    * Increase test coverage, add metrics collection code paths
    
    * Fix warnings
    
    * WIp
    
    * Convention adeherence
    
    * Add gen-ai.system logic + UT
    
    * Add convetion reference
    
    * Address PR comments
    
    * Addressing PR comments, Agent name optional
    
    * Remove constant
    
    * Update dotnet/src/Microsoft.Extensions.AI.Agents/ChatCompletion/ChatClientAgent.cs
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * GetLoggingName
    
    ---------
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
  • Round 2 of cleanup for agent runtime and orchestrations (#164)
    - Moved InProcessRuntime type into abstractions package and deleted InProcess package.
    - Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
    - Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
    - Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
    - Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
    - Removed a bunch of allocation from InProcessRuntime.
    - Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
    - Removed custom delegate types from orchestrations.
    - Consolidated namespaces.
    - Used records to simplify message classes.
    - Tweaked naming on AgentActor to make purpose of protected methods more clear.
    - Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
    - Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
    - Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
  • Add PoC CopilotStudio agent (#84)
    * Add project and skeleton files.
    
    * Add CopilotStudioAgent implementation
    
    * Add CopilotStudio integration tests
    
    * Fix typos and PR feedback.
    
    * Fix .net framework build errors.
    
    * Address PR comments
    
    * Remove temp test.
    
    * Add rawresponse for streaming updates and more comments.
    
    * Add TODO to review streaming updates
    
    * Address PR comments and fix some issues with streaming messages.
    
    * Map additional properties to agent reponses
    
    * Update CopilotStudio integration tests to match new approach.
    
    * Update copilot studio namespaces/project names to match new naming
    
    * Add todo's for AIContent types.
    
    * Remove files from PR.
    
    * Fix up sln file.
    
    * Update .gitignore.
    
    * Remove duplicate package version items.
  • .Net: Update Code Interpreter Sample as a Step. (#148)
    * Updating code interpreter samples
    
    * Small adjustments to ensure it works as expected
    
    * Update dotnet/samples/GettingStarted/Steps/Step03_ChatClientAgent_UsingCodeInterpreterTools.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address xmldoc
    
    * Addressing PR coment, external implementaions + ChatClients update, removing RawRepresentationFactory requirement
    
    * Address warnings
    
    * Update Fix warnings
    
    * Proposed changes for the OpenAIAssistantChatClient
    
    * Address PR comments
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • .NET Port Agent Orchestration (#107)
    * Checkpoint
    
    * Checkpoint
    
    * Namespaces
    
    * Namespace
    
    * Cleanup
    
    * Namespace order
    
    * Fix sync
    
    * Formatting
    
    * Formatting
    
    * Namespace
    
    * Namespace order
    
    * Code convention
    
    * Naming
    
    * Naming
    
    * Text handling
    
    * Text handling
    
    * Namespace
    
    * Namespace order
    
    * Namespace ordering
    
    * Test
    
    * ValueTask
    
    * net472
    
    * Test fix
    
    * Fix namespace (net472)
    
    * Namespace
    
    * Fix conditional namespace
    
    * Fix type expression
    
    * Compatibility and cleanup
    
    * Sample compatibility
    
    * Sample compat
    
    * Test compat
    
    * modifier order
    
    * Simply http-stub
    
    * Formating fix for unit-test
    
    * Fix test
    
    * Real fix
    
    * Test clean-up
    
    * Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffOrchestration.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix build errors after merging
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
  • .Net: Added Azure AI Persistent Agents (#81)
    * Added PersistentAgentsChatClient
    
    * Added integration tests
    
    * Small fixes
    
    * Added sample
    
    * Added TODO for tools
    
    * Small rename
    
    * Removed user-secrets id
    
    * Renamed project
    
    * Fixed warning
    
    * Fixed warning
    
    * More fixes
    
    * More fixes
  • .Net: Add Azure OpenAI Agent Model Samples (#80)
    * Improved Merge logic
    
    * Add modularization for Model Samples and Azure OpenAI
    
    * Address PR feedback
    
    * Warning fix
    
    * Address PR comments
  • .Net: Add ChatClientAgent Samples - OpenAI Model Client (#72)
    * Add Streaming API
    
    * Removing InstructionsRole
    
    * Updating thread notification strategy
    
    * Fix net472 failing
    
    * Small fixes
    
    * Adding Samples for OpenAI
    
    * WIP samples
    
    * default runsettings for unit tests
    
    * Adding first samples with OpenAIModelChatClientAgents
    
    * Removing OpenAI dependency on the sample utility
    
    * Release -> Debug update for GettingStarted project
    
    * Fix GettingStarted.csproj failing to build in Release
    
    * Update dotnet/src/Shared/Samples/BaseSample.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address PR feedback
    
    * Fix Step 1 samples
    
    * Simplify code
    
    * Address PR feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .Net: ChatClientAgent (Non-Streaming initial impl) (#65)
    * Add non-streaming impl
    
    * Add missing UT
    
    * AgentThread UT + ensuring behavior
    
    * Fix warnings
    
    * Increase code coverage
    
    * Add UT
    
    * Updated abstractions fixes
    
    * Adding AgentInvokingChatClient for instruction handling logic
    
    * Moving AsAgentInvokingClient to ChatClientExtensions
    
    * Address PR Feedback
    
    * Address PR feedback
    
    * Address PR feedback
    
    * Signature updates for chat run options
  • .Net: Added Agent abstractions from SK repository (#56)
    * Fixed project build in Visual Studio
    
    * Added Agent abstractions
    
    * Remove features we are not porting over, addressing PR comments and making updates as per agreed design.
    
    * Add create thread method.
    
    * Add unit tests and update invoke response type to async
    
    * Address PR comments and fix formatting.
    
    * Switch to shared null checker to fix build failures.
    
    * Add additional tests to increase code coverage
    
    * Seal mockagent
    
    * Fix line coverage failure
    
    * Improve coverage check formatting
    
    ---------
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
  • Add skeleton dotnet project structure (#49)
    * Add skeleton dotnet project structure
    
    * Fix casing in import statement.
    
    * Moving tests folder to be a sibling of src.
    
    * Update tests to use directory.builds.props and only build necessary frameworks.
    
    * Move more test props to directory.build.props
    
    * Add AotCompatible flag and .net 8.0
    
    * Rename Tests to UnitTests
    
    * Add global.json file
    
    * Update publish mapping for unit tests to debug, to reduce build times.