namespace Kompas.Mcp.Core;

/// <summary>Сведения об установленном подключении к КОМПАС.</summary>
public sealed record KompasConnectionInfo
{
    /// <summary>ProgID, по которому удалось подключиться (например, <c>KOMPAS.Application.5</c>).</summary>
    public required string ProgId { get; init; }

    /// <summary>true — экземпляр КОМПАС запущен этим процессом; false — присоединились к работающему.</summary>
    public required bool WasLaunched { get; init; }

    /// <summary>Версия системы в формате Major.Minor.Release.</summary>
    public required string Version { get; init; }

    /// <summary>Номер сборки внутри версии.</summary>
    public required int BuildNumber { get; init; }

    /// <summary>Редакция (по ProgID): "Home/LT" для KOMPASLT.*, иначе "Full".</summary>
    public required string Edition { get; init; }
}
