namespace LanMountainDesktop.AirAppIsolation.Contracts; public sealed record AirAppSessionHandshakeRequest( string AirAppId, string SessionId, string RuntimeMode, string ProtocolVersion, IReadOnlyList? RequestedCapabilities = null, IReadOnlyDictionary? Metadata = null); public sealed record AirAppSessionHandshakeResponse( bool Accepted, string ProtocolVersion, IReadOnlyList? GrantedCapabilities = null, string? ErrorCode = null, string? ErrorMessage = null); public sealed record AirAppReadyNotification( string AirAppId, string SessionId, IReadOnlyList? UiSurfaces = null);