Class AgentPoolService
Manages a pool of live agent instances. Each agent has its own Microsoft.SemanticKernel.Kernel, Microsoft.SemanticKernel.ChatCompletion.ChatHistory, and lifecycle.
public sealed class AgentPoolService : IHostedService
- Inheritance
-
AgentPoolService
- Implements
- Inherited Members
Constructors
AgentPoolService(IProviderRegistry, IChannelRegistry, IEventBus, ILogger<AgentPoolService>, IMemoryService?, IAgentTaskRegistry?, McpManager?)
public AgentPoolService(IProviderRegistry providers, IChannelRegistry channelRegistry, IEventBus eventBus, ILogger<AgentPoolService> logger, IMemoryService? memoryService = null, IAgentTaskRegistry? taskRegistry = null, McpManager? mcpManager = null)
Parameters
providersIProviderRegistrychannelRegistryIChannelRegistryeventBusIEventBusloggerILogger<AgentPoolService>memoryServiceIMemoryServicetaskRegistryIAgentTaskRegistrymcpManagerMcpManager
Properties
DaemonVersion
Daemon version info — set by Daemon host for agent identity enrichment.
public string? DaemonVersion { get; set; }
Property Value
LatestDaemonVersion
Latest available daemon version from NuGet — set by Daemon host.
public string? LatestDaemonVersion { get; set; }
Property Value
Methods
ClearHistory(string)
public void ClearHistory(string agentId)
Parameters
agentIdstring
GetDetector(string)
public IProviderDetector? GetDetector(string provider)
Parameters
providerstring
Returns
ListAgents()
public IReadOnlyList<AgentInfo> ListAgents()
Returns
SendMessageAsync(string, ChannelMessage, string, CancellationToken)
public Task<string?> SendMessageAsync(string agentId, ChannelMessage message, string channelType, CancellationToken ct)
Parameters
agentIdstringmessageChannelMessagechannelTypestringctCancellationToken
Returns
SendMessageAsync(string, ChannelMessage, CancellationToken)
public Task<string?> SendMessageAsync(string agentId, ChannelMessage message, CancellationToken ct)
Parameters
agentIdstringmessageChannelMessagectCancellationToken
Returns
SendMessageAsync(string, string, CancellationToken)
public Task<string?> SendMessageAsync(string agentId, string message, CancellationToken ct)
Parameters
agentIdstringmessagestringctCancellationToken
Returns
SpawnAgentAsync(string, string, string?, CancellationToken, ModelParameters?, IReadOnlyList<string>?)
public Task<string> SpawnAgentAsync(string provider, string model, string? systemPrompt, CancellationToken ct, ModelParameters? parameters = null, IReadOnlyList<string>? fallbackProviders = null)
Parameters
providerstringmodelstringsystemPromptstringctCancellationTokenparametersModelParametersfallbackProvidersIReadOnlyList<string>
Returns
StartAsync(CancellationToken)
Triggered when the application host is ready to start the service.
public Task StartAsync(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationTokenIndicates that the start process has been aborted.
Returns
StopAgent(string)
public void StopAgent(string agentId)
Parameters
agentIdstring
StopAsync(CancellationToken)
Triggered when the application host is performing a graceful shutdown.
public Task StopAsync(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationTokenIndicates that the shutdown process should no longer be graceful.