/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
using System.Diagnostics.CodeAnalysis;
namespace GitHub.Copilot;
///
/// Arguments passed to a bearer-token callback (the BearerTokenProvider property
/// on / ) when the
/// runtime needs a fresh bearer token for a BYOK provider.
///
///
/// Part of the experimental managed-identity / bearer-token-provider surface and
/// may change or be removed in future SDK or CLI releases.
///
[Experimental(Diagnostics.Experimental)]
public sealed class ProviderTokenArgs
{
///
/// Name of the BYOK provider needing a token. For the singular, whole-session
/// this is the implicit provider name
/// ("default"); for entries it is
/// .
///
///
/// The callback closes over its own token scope/audience; the runtime is
/// provider-agnostic and forwards only the provider name.
///
public required string ProviderName { get; init; }
///
/// Id of the session that triggered this token request. A client-level
/// shared callback registered for many sessions can use this to resolve the
/// owning session and scope token acquisition or caching per session.
///
public required string SessionId { get; init; }
}