Keep context-activated tools out of every tool selection

This commit is contained in:
Thorsten Sommer committed 2026-09-24 14:32:43 +02:00
1 parent a9825520f4
commit df257714f2
5 files changed
+52 -1

No files matched your search

@@ -16,6 +16,7 @@ public sealed class ToolSelectionRulesTests
private const string SEARCH_CONFLUENCE = ToolSelectionRules.SEARCH_CONFLUENCE_TOOL_ID;
private const string READ_WEB_PAGE = ToolSelectionRules.READ_WEB_PAGE_TOOL_ID;
private const string WEB_SEARCH = ToolSelectionRules.WEB_SEARCH_TOOL_ID;
private const string SEMANTIC_SEARCH = ToolSelectionRules.SEMANTIC_SEARCH_TOOL_ID;
[Test]
public void SearchConfluenceBringsReadWebPageAlong()
@@ -30,6 +31,12 @@ public sealed class ToolSelectionRulesTests
Assert.That(ToolSelectionRules.NormalizeSelection([toolId]), Is.EquivalentTo(new[] { toolId }), "Only Search Confluence depends on another tool. Read Web Page in particular does not pull the search in.");
}
[Test]
public void SemanticSearchIsNeverPartOfASelection()
{
Assert.That(ToolSelectionRules.NormalizeSelection([SEMANTIC_SEARCH, WEB_SEARCH]), Is.EquivalentTo(new[] { WEB_SEARCH }), "Semantic Search offers itself from the data sources of a chat. A template or a plugin naming it would put a tool on the security card that the selection has no say over.");
}
[Test]
public void NormalizingTwiceChangesNothing()
{