Files
VolcanicAgenticCore/extensions/Volcanic.AgenticCore.Extensions.A2A/A2AClientSettings.cs

24 lines
1.1 KiB
C#

namespace Volcanic.AgenticCore.Extensions.A2A;
/// <summary>Section <c>A2AClient</c> (env <c>A2AClient__…</c>). Named so it doesn't clash with the SDK's <c>A2AClientOptions</c>.</summary>
public sealed class A2AClientSettings
{
public const string SectionName = "A2AClient";
/// <summary>Off by default: no <c>a2a</c> tool, no watches. Independent of the server's <c>A2A:Enabled</c>.</summary>
public bool Enabled { get; set; }
/// <summary>How long <c>send</c> waits for a result before a watch takes over. 0 hands over at once.</summary>
public int WaitSeconds { get; set; } = 60;
public TimeSpan WatchTimeout { get; set; } = TimeSpan.FromDays(1);
public int CardTimeoutSeconds { get; set; } = 10;
public long MaxFileBytes { get; set; } = 10 * 1024 * 1024;
/// <summary>
/// Our public base URL for push webhooks (<c>{PushBaseUrl}/a2a/push/{watchId}</c>). Set by the host from the server's
/// <c>A2A:PublicUrl</c> only while the server (and so the push receiver) is on; null = subscribe or poll.
/// </summary>
public string? PushBaseUrl { get; set; }
}