Coverage for src / local_deep_research / settings / env_definitions / db_config.py: 100%

2 statements  

« prev     ^ index     » next       coverage.py v7.12.0, created at 2026-01-11 00:51 +0000

1""" 

2Database configuration environment settings. 

3 

4These settings control SQLite and SQLCipher database parameters 

5that must be set before opening the database connection. 

6""" 

7 

8from ..env_settings import ( 

9 IntegerSetting, 

10 StringSetting, 

11 EnumSetting, 

12) 

13 

14 

15# Database configuration settings 

16DB_CONFIG_SETTINGS = [ 

17 # Performance settings 

18 IntegerSetting( 

19 key="db_config.cache_size_mb", 

20 description="SQLite cache size in MB", 

21 min_value=1, 

22 max_value=10000, 

23 default=100, 

24 ), 

25 EnumSetting( 

26 key="db_config.journal_mode", 

27 description="SQLite journal mode", 

28 allowed_values={ 

29 "DELETE", 

30 "TRUNCATE", 

31 "PERSIST", 

32 "MEMORY", 

33 "WAL", 

34 "OFF", 

35 }, 

36 default="WAL", 

37 case_sensitive=False, 

38 ), 

39 EnumSetting( 

40 key="db_config.synchronous", 

41 description="SQLite synchronous mode", 

42 allowed_values={"OFF", "NORMAL", "FULL", "EXTRA"}, 

43 default="NORMAL", 

44 case_sensitive=False, 

45 ), 

46 # Storage settings 

47 IntegerSetting( 

48 key="db_config.page_size", 

49 description="SQLite page size (must be power of 2)", 

50 min_value=512, 

51 max_value=65536, 

52 default=4096, 

53 ), 

54 # Encryption settings 

55 IntegerSetting( 

56 key="db_config.kdf_iterations", 

57 description="Number of KDF iterations for key derivation", 

58 min_value=1000, 

59 max_value=1000000, 

60 default=256000, 

61 ), 

62 StringSetting( 

63 key="db_config.kdf_algorithm", 

64 description="Key derivation function algorithm", 

65 default="PBKDF2_HMAC_SHA512", 

66 ), 

67 StringSetting( 

68 key="db_config.hmac_algorithm", 

69 description="HMAC algorithm for database integrity", 

70 default="HMAC_SHA512", 

71 ), 

72]