mirror of
https://github.com/davidkaya/aryx.git
synced 2026-07-24 13:38:43 +02:00
fix: filter internal runtime tools
Exclude internal runtime tools from sidecar capability discovery so they do not surface in the approval tool catalog. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -16,6 +16,13 @@ public sealed class SidecarProtocolHost
|
||||
private const string ResolveApprovalCommandType = "resolve-approval";
|
||||
private const string ResolveUserInputCommandType = "resolve-user-input";
|
||||
private const string AskUserToolName = "ask_user";
|
||||
private static readonly HashSet<string> ExcludedRuntimeToolNames = new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
AskUserToolName,
|
||||
"report_intent",
|
||||
"task_complete",
|
||||
"exit_plan_mode",
|
||||
};
|
||||
|
||||
private static readonly string[] AuthenticationErrorIndicators =
|
||||
[
|
||||
@@ -460,7 +467,7 @@ public sealed class SidecarProtocolHost
|
||||
{
|
||||
string? toolName = string.IsNullOrWhiteSpace(tool.Name) ? null : tool.Name.Trim();
|
||||
return toolName is not null
|
||||
&& !string.Equals(toolName, AskUserToolName, StringComparison.OrdinalIgnoreCase);
|
||||
&& !ExcludedRuntimeToolNames.Contains(toolName);
|
||||
}
|
||||
|
||||
private static bool IsReasoningEffort(string? value)
|
||||
|
||||
@@ -517,7 +517,7 @@ public sealed class SidecarProtocolHostTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MapRuntimeTools_ExcludesAskUserAndDeduplicatesByName()
|
||||
public void MapRuntimeTools_ExcludesInternalToolsAndDeduplicatesByName()
|
||||
{
|
||||
IReadOnlyList<SidecarRuntimeToolDto> runtimeTools = SidecarProtocolHost.MapRuntimeTools(
|
||||
[
|
||||
@@ -527,6 +527,21 @@ public sealed class SidecarProtocolHostTests
|
||||
Description = "Ask the user a question.",
|
||||
},
|
||||
new Tool
|
||||
{
|
||||
Name = "report_intent",
|
||||
Description = "Report current intent.",
|
||||
},
|
||||
new Tool
|
||||
{
|
||||
Name = "task_complete",
|
||||
Description = "Signal task completion.",
|
||||
},
|
||||
new Tool
|
||||
{
|
||||
Name = "exit_plan_mode",
|
||||
Description = "Exit plan mode.",
|
||||
},
|
||||
new Tool
|
||||
{
|
||||
Name = " web_fetch ",
|
||||
Description = " Fetch content from the web. ",
|
||||
|
||||
Reference in New Issue
Block a user