Coverage for src \ truenex_memory \ release \ version.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-05-19 10:21 +0200

1"""Version constants for Truenex Memory.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import asdict, dataclass 

6 

7from truenex_memory import __version__ 

8 

9 

10APP_VERSION = __version__ 

11DB_SCHEMA_VERSION = "4" 

12MCP_TOOLS_VERSION = "1" 

13LICENSE_FORMAT_VERSION = "1" 

14MEMORY_EXPORT_VERSION = "1" 

15CLOUD_API_VERSION = "0" 

16DEFAULT_UPDATE_CHANNEL = "dev" 

17 

18 

19@dataclass(frozen=True) 

20class VersionInfo: 

21 """Distinct version values used by release and migration code.""" 

22 

23 app_version: str = APP_VERSION 

24 db_schema_version: str = DB_SCHEMA_VERSION 

25 mcp_tools_version: str = MCP_TOOLS_VERSION 

26 license_format_version: str = LICENSE_FORMAT_VERSION 

27 memory_export_version: str = MEMORY_EXPORT_VERSION 

28 cloud_api_version: str = CLOUD_API_VERSION 

29 update_channel: str = DEFAULT_UPDATE_CHANNEL 

30 

31 

32def get_version_info() -> dict[str, str]: 

33 """Return version info as a JSON-friendly dict.""" 

34 

35 return asdict(VersionInfo())