Let tools tailor what they offer to each request

This commit is contained in:
Thorsten Sommer committed 2026-09-24 14:51:27 +02:00
1 parent 38d4520e80
commit 51e7f621bb
12 files changed
+452 -126

No files matched your search

@@ -0,0 +1,35 @@
using AIStudio.Chat;
using AIStudio.Provider;
namespace AIStudio.Tools.ToolCallingSystem;
/// <summary>
/// The request a tool is being prepared for.
/// </summary>
/// <remarks>
/// What a tool may look at when it tailors its function to a request, see
/// IToolImplementation.ResolveFunctionAsync. Semantic Search, for instance, reads the data sources
/// of the chat and describes exactly those which this provider may search.
/// </remarks>
public sealed class ToolResolutionContext
{
/// <summary>
/// The provider the request goes to, with the expert settings of the user.
/// </summary>
public required AIStudio.Settings.Provider Provider { get; init; }
/// <summary>
/// The part of the app the request comes from.
/// </summary>
public required Components Component { get; init; }
/// <summary>
/// How much the provider is trusted.
/// </summary>
public required ConfidenceLevel ProviderConfidence { get; init; }
/// <summary>
/// The chat the request continues.
/// </summary>
public required ChatThread ChatThread { get; init; }
}