namespace LanMountainDesktop.PluginSdk; public interface IPluginRuntimeContext { PluginManifest Manifest { get; } string PluginDirectory { get; } string DataDirectory { get; } IServiceProvider Services { get; } IReadOnlyDictionary Properties { get; } T? GetService(); bool TryGetProperty(string key, out T? value); }