Default draft protocol support: sessionless + handshake-less (SEP-2575 + SEP-2567) (#1610)

This commit is contained in:
Stephen Halter 2026-06-23 21:24:22 -07:00 • committed by GitHub
commit 6c323e783b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -151,4 +151,42 @@ public static class RequestMethods
/// Cancellation is cooperative — the server decides whether and when to honor it.
/// </remarks>
public const string TasksCancel = "tasks/cancel";
/// <summary>
/// The name of the request method sent from the client to discover the server's protocol versions,
/// capabilities, and metadata.
/// </summary>
/// <remarks>
/// <para>
/// This RPC is introduced in the draft protocol revision (SEP-2575) as the canonical way for a client
/// to learn what a server supports without performing the legacy <c>initialize</c> handshake.
/// </para>
/// <para>
/// The server's response includes its supported protocol versions, capabilities, implementation
/// information, and optional usage instructions.
/// </para>
/// <para>
/// Servers SHOULD implement this method. Legacy clients MAY ignore it. Draft-revision clients
/// typically call this once during connection establishment.
/// </para>
/// </remarks>
public const string ServerDiscover = "server/discover";
/// <summary>
/// The name of the request method sent from the client to open a long-lived subscription for
/// receiving server-to-client notifications outside of a specific request's response stream.
/// </summary>
/// <remarks>
/// <para>
/// This RPC is introduced in the draft protocol revision (SEP-2575) and replaces the unsolicited
/// HTTP GET endpoint and the legacy <see cref="ResourcesSubscribe"/> / <see cref="ResourcesUnsubscribe"/>
/// request methods.
/// </para>
/// <para>
/// The request opens a response stream on which the server first sends a
/// <see cref="NotificationMethods.SubscriptionsAcknowledgedNotification"/> describing the granted
/// notifications, and then streams matching notifications until the subscription is cancelled.
/// </para>
/// </remarks>
public const string SubscriptionsListen = "subscriptions/listen";
}