-
-
Notifications
You must be signed in to change notification settings - Fork 595
A2 a #1256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
A2 a #1256
Conversation
Introduced OpenTelemetry-based model diagnostics with Langfuse integration, including new helper classes and activity tracing for agent and function execution. Added BotSharp.Plugin.GiteeAI with chat and embedding providers, and updated solution/project files to register the new plugin. Enhanced tracing in routing, executor, and controller logic for improved observability.
This pull request introduces several updates to the solution and package management
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||||
User description
This pull request introduces support for enhanced telemetry and diagnostics, adds new plugins and agent types, and improves configuration flexibility for OpenTelemetry exporters. The most significant changes include adding Langfuse integration for OpenTelemetry tracing, introducing new plugins (GiteeAI and A2A), and providing utility extensions for diagnostics and activity tracking.
Telemetry & Diagnostics Enhancements:
LangfuseSettings. This includes conditional configuration based on app settings and support for custom OTLP exporters. (src/BotSharp.ServiceDefaults/Extensions.cs,src/BotSharp.ServiceDefaults/LangfuseSettings.cs) [1] [2] [3] [4] [5]ActivityExtensionsfor tagging and error handling in activities, andAppContextSwitchHelperfor reading configuration switches and environment variables. (src/Infrastructure/BotSharp.Abstraction/Diagnostics/ActivityExtensions.cs,src/Infrastructure/BotSharp.Abstraction/Diagnostics/AppContextSwitchHelper.cs) [1] [2]AppContextswitches for GenAI features. (src/BotSharp.ServiceDefaults/Extensions.cs)Plugin & Agent Type Additions:
BotSharp.Plugin.GiteeAIandBotSharp.Plugin.A2Aprojects to the solution, with associated build and project configuration. (BotSharp.sln,Directory.Packages.props) [1] [2] [3] [4] [5] [6]A2ARemotefor Microsoft Agent Framework integration. (src/Infrastructure/BotSharp.Abstraction/Agents/Enums/AgentType.cs)Other Updates:
mcpserviceproject in the application host, possibly for deployment or testing purposes. (src/BotSharp.AppHost/Program.cs)PR Type
Enhancement, Tests
Description
Adds A2A (Agent-to-Agent) protocol integration for remote agent communication
Implements OpenTelemetry diagnostics with Langfuse tracing support
Introduces GiteeAI plugin for chat and embedding providers
Adds diagnostic helpers for activity tracking and model telemetry
Integrates tracing in routing, function execution, and chat completion flows
Diagram Walkthrough
File Walkthrough
22 files
A2A plugin registration and dependency injectionFunction callback for A2A agent delegationAgent hook for A2A remote agent loadingConversation hook for A2A integrationA2A service for remote agent communicationInterface for A2A service operationsOpenTelemetry and Langfuse integration setupExtension methods for activity tagging and error handlingHelper for reading app context switches and environment variablesModel diagnostics with OTel semantic conventionsAdd A2ARemote agent type constantAdd activity tracing to function executionAdd activity tracing to MCP tool executionAdd agent invocation activity tracingImport diagnostics for function invocationInclude A2ARemote agents in routable agentsGiteeAI plugin registration and DI setupGiteeAI chat completion provider with tracingGiteeAI text embedding provider implementationHelper for GiteeAI client initializationAdd model diagnostics tracing to Azure OpenAIAdd model diagnostics tracing to OpenAI9 files
Configuration settings for A2A integrationProject file for A2A pluginConfiguration class for Langfuse settingsGlobal using statements for GiteeAI pluginProject file for GiteeAI pluginAdd A2A and GiteeAI plugin project referencesAdd Langfuse and A2A integration configurationAdd A2A and GiteeAI plugin projects to solutionComment out MCP service in app host1 files
Documentation for GiteeAI plugin2 files
Minor formatting cleanup in conversation controllerReorder using statements for consistency1 files
Add A2A NuGet package version management3 files
Add SportKiosk A2A remote agent to test pluginAdd SportKiosk agent data file referenceSportKiosk A2A remote agent configuration