feat(a2a-client): scaffold the A2A client extension behind A2AClient__Enabled
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
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; }
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<Description>A2A client extension: the a2a tool, remote agents in agents.json, watches for long tasks.</Description>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- Private="false": the host already ships Abstractions; an extension must not bring its own copy (docs/extensions.md). -->
|
||||
<ProjectReference Include="../../src/Volcanic.AgenticCore.Abstractions/Volcanic.AgenticCore.Abstractions.csproj" Private="false" />
|
||||
<PackageReference Include="A2A" Version="1.0.0-preview2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<InternalsVisibleTo Include="Volcanic.AgenticCore.Extensions.Tests" />
|
||||
<InternalsVisibleTo Include="Volcanic.AgenticCore.Telegram.Tests" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user