diff --git a/DurableMultiAgentTemplate.Shared/Model/AdditionalLinkInfo.cs b/DurableMultiAgentTemplate.Shared/Model/AdditionalLinkInfo.cs index 2e936b8..f6931fe 100644 --- a/DurableMultiAgentTemplate.Shared/Model/AdditionalLinkInfo.cs +++ b/DurableMultiAgentTemplate.Shared/Model/AdditionalLinkInfo.cs @@ -2,6 +2,10 @@ namespace DurableMultiAgentTemplate.Shared.Model; +/// +/// Record representing additional information in link format. +/// Used when providing links as additional information in agent responses. +/// public record AdditionalLinkInfo( [property: Description("リンクのラベルとして表示されるテキスト")] string LinkText, diff --git a/DurableMultiAgentTemplate.Shared/Model/AdditionalMarkdownInfo.cs b/DurableMultiAgentTemplate.Shared/Model/AdditionalMarkdownInfo.cs index 8015a82..84602dd 100644 --- a/DurableMultiAgentTemplate.Shared/Model/AdditionalMarkdownInfo.cs +++ b/DurableMultiAgentTemplate.Shared/Model/AdditionalMarkdownInfo.cs @@ -2,6 +2,10 @@ namespace DurableMultiAgentTemplate.Shared.Model; +/// +/// Record representing additional information in Markdown format. +/// Used when providing Markdown text as additional information in agent responses. +/// public record AdditionalMarkdownInfo( [property: Description("Markdown形式の補足情報")] string MarkdownText) : IAdditionalInfo; diff --git a/DurableMultiAgentTemplate.Shared/Model/IAdditionalInfo.cs b/DurableMultiAgentTemplate.Shared/Model/IAdditionalInfo.cs index 7c57859..6bee665 100644 --- a/DurableMultiAgentTemplate.Shared/Model/IAdditionalInfo.cs +++ b/DurableMultiAgentTemplate.Shared/Model/IAdditionalInfo.cs @@ -2,6 +2,10 @@ namespace DurableMultiAgentTemplate.Shared.Model; +/// +/// Interface for additional information. +/// Classes implementing this interface are used as supplementary information added to agent responses. +/// [JsonDerivedType(typeof(AdditionalMarkdownInfo), typeDiscriminator: "markdown")] [JsonDerivedType(typeof(AdditionalLinkInfo), typeDiscriminator: "link")] public interface IAdditionalInfo; diff --git a/DurableMultiAgentTemplate/Agent/AgentActivityName.cs b/DurableMultiAgentTemplate/Agent/AgentActivityName.cs index 21d261b..b6b3cea 100644 --- a/DurableMultiAgentTemplate/Agent/AgentActivityName.cs +++ b/DurableMultiAgentTemplate/Agent/AgentActivityName.cs @@ -1,5 +1,9 @@ namespace DurableMultiAgentTemplate.Agent; +/// +/// Static class defining agent activity names. +/// Provides constants for orchestrator agent and worker agent names. +/// public static class AgentActivityName { // Orchestrator Agent functions diff --git a/DurableMultiAgentTemplate/Agent/AgentDefinition.cs b/DurableMultiAgentTemplate/Agent/AgentDefinition.cs index e6c2767..7ba118f 100644 --- a/DurableMultiAgentTemplate/Agent/AgentDefinition.cs +++ b/DurableMultiAgentTemplate/Agent/AgentDefinition.cs @@ -4,6 +4,10 @@ namespace DurableMultiAgentTemplate.Agent; +/// +/// Class providing agent definitions. +/// Defines the functionality, descriptions, and parameters for each agent. +/// //https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/dotnet-migration?tabs=stable internal class AgentDefinition { diff --git a/DurableMultiAgentTemplate/Agent/Synthesizer/SynthesizerWithAdditionalInfoPrompt.cs b/DurableMultiAgentTemplate/Agent/Synthesizer/SynthesizerWithAdditionalInfoPrompt.cs index 34d621e..4cd5835 100644 --- a/DurableMultiAgentTemplate/Agent/Synthesizer/SynthesizerWithAdditionalInfoPrompt.cs +++ b/DurableMultiAgentTemplate/Agent/Synthesizer/SynthesizerWithAdditionalInfoPrompt.cs @@ -1,5 +1,9 @@ namespace DurableMultiAgentTemplate.Agent.Synthesizer; +/// +/// Static class defining prompts for generating responses with additional information. +/// The system prompt includes instructions on how to generate responses and separate additional information. +/// internal static class SynthesizerWithAdditionalInfoPrompt { // Orchestrator Agent functions diff --git a/DurableMultiAgentTemplate/Starter.cs b/DurableMultiAgentTemplate/Starter.cs index dedd683..f66e00c 100644 --- a/DurableMultiAgentTemplate/Starter.cs +++ b/DurableMultiAgentTemplate/Starter.cs @@ -8,6 +8,10 @@ namespace DurableMultiAgentTemplate; +/// +/// Class providing starter functions for agent orchestration. +/// Provides synchronous and asynchronous HTTP triggers to start agent orchestration. +/// public class Starter(ILogger logger) { private static readonly JsonSerializerOptions _jsonSerializerOptions = new() @@ -15,6 +19,12 @@ public class Starter(ILogger logger) PropertyNameCaseInsensitive = true }; + /// + /// Synchronously executes agent orchestration and waits for completion. HTTP trigger function. + /// + /// HTTP request data + /// Durable task client + /// HTTP response containing agent processing results [Function("SyncStarter")] public async Task SyncStarter( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "invoke/sync")] HttpRequestData req, @@ -41,6 +51,12 @@ public async Task SyncStarter( return res; } + /// + /// Asynchronously starts agent orchestration. HTTP trigger function. + /// + /// HTTP request data + /// Durable task client + /// HTTP response containing URLs for checking orchestration status [Function("AsyncStarter")] public async Task AsyncStarter( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "invoke/async")] HttpRequestData req, @@ -63,6 +79,11 @@ public async Task AsyncStarter( return await client.CreateCheckStatusResponseAsync(req, instanceId); } + /// + /// Helper method to retrieve agent request data from an HTTP request. + /// + /// HTTP request data + /// Agent request data, or null if the request is invalid private async Task GetRequestData(HttpRequestData req) { var requestBody = await req.ReadAsStringAsync();