5 instantiations of FunctionInvocationContext
Microsoft.Extensions.AI (2)
ChatCompletion\FunctionInvokingChatClient.cs (1)
1178(callContent, aiFunction, callIndex) => new FunctionInvocationContext
Realtime\FunctionInvokingRealtimeClientSession.cs (1)
331(callContent, aiFunction, _) => new FunctionInvocationContext
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\FunctionInvocationContextTests.cs (3)
15FunctionInvocationContext ctx = new(); 36FunctionInvocationContext ctx = new(); 45FunctionInvocationContext ctx = new();
44 references to FunctionInvocationContext
Microsoft.Extensions.AI (27)
ChatCompletion\FunctionInvocationContext.cs (3)
16/// <see cref="FunctionInvocationContext"/> start with this as the target function. 18private static readonly AIFunction _nopFunction = AIFunctionFactory.Create(() => { }, nameof(FunctionInvocationContext)); 20/// <summary>Initializes a new instance of the <see cref="FunctionInvocationContext"/> class.</summary>
ChatCompletion\FunctionInvokingChatClient.cs (6)
69/// <summary>The <see cref="FunctionInvocationContext"/> for the current function invocation.</summary> 70private static readonly AsyncLocal<FunctionInvocationContext?> _currentContext = new(); 107/// Gets or sets the <see cref="FunctionInvocationContext"/> for the current function invocation. 112public static FunctionInvocationContext? CurrentContext 274public Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>>? FunctionInvoker { get; set; } 1319protected virtual ValueTask<object?> InvokeFunctionAsync(FunctionInvocationContext context, CancellationToken cancellationToken)
Common\FunctionInvocationProcessor.cs (9)
25private readonly Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>> _invokeFunction; 42Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>> invokeFunction, 57/// <param name="createContext">Delegate to create a <see cref="FunctionInvocationContext"/> for each function call.</param> 66Func<FunctionCallContent, AIFunction, int, FunctionInvocationContext> createContext, 67Action<FunctionInvocationContext?> setCurrentContext, 110Func<FunctionCallContent, AIFunction, int, FunctionInvocationContext> createContext, 111Action<FunctionInvocationContext?> setCurrentContext, 129var context = createContext(callContent, aiFunction, callIndex); 155private async Task<object?> InstrumentedInvokeFunctionAsync(FunctionInvocationContext context, CancellationToken cancellationToken)
Realtime\FunctionInvokingRealtimeClient.cs (3)
48/// Gets the <see cref="FunctionInvocationContext"/> for the current function invocation. 53public static FunctionInvocationContext? CurrentContext => FunctionInvokingRealtimeClientSession.CurrentContext; 122public Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>>? FunctionInvoker { get; set; }
Realtime\FunctionInvokingRealtimeClientSession.cs (6)
57/// <summary>The <see cref="FunctionInvocationContext"/> for the current function invocation.</summary> 58private static readonly AsyncLocal<FunctionInvocationContext?> _currentContext = new(); 99/// Gets or sets the <see cref="FunctionInvocationContext"/> for the current function invocation. 104internal static FunctionInvocationContext? CurrentContext 122private Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>>? FunctionInvoker => _client.FunctionInvoker; 407private ValueTask<object?> InvokeFunctionAsync(FunctionInvocationContext context, CancellationToken cancellationToken)
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\FunctionInvocationContextTests.cs (4)
15FunctionInvocationContext ctx = new(); 28Assert.Equal(nameof(FunctionInvocationContext), ctx.Function.Name); 36FunctionInvocationContext ctx = new(); 45FunctionInvocationContext ctx = new();
ChatCompletion\FunctionInvokingChatClientTests.cs (13)
68Func<FunctionInvocationContext, CancellationToken, ValueTask<object?>> invoker = (ctx, ct) => new ValueTask<object?>("test"); 1268var invocationContexts = new List<FunctionInvocationContext>(); 1274var context = FunctionInvokingChatClient.CurrentContext!; 1326void AssertInvocationContext(FunctionInvocationContext context, int iteration, bool terminate) 2366var context = FunctionInvokingChatClient.CurrentContext!; 2460var context = FunctionInvokingChatClient.CurrentContext!; 2562var context = FunctionInvokingChatClient.CurrentContext!; 2666var context = FunctionInvokingChatClient.CurrentContext!; 2770var context = FunctionInvokingChatClient.CurrentContext!; 2946var context = FunctionInvokingChatClient.CurrentContext!; 3047var context = FunctionInvokingChatClient.CurrentContext!; 3150var context = FunctionInvokingChatClient.CurrentContext!; 3315var context = FunctionInvokingChatClient.CurrentContext!;