Coverage for src/local_deep_research/database/models/__init__.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-06-03 23:15 +0000

1""" 

2Database models for Local Deep Research. 

3All models are organized by domain for better maintainability. 

4""" 

5 

6from .active_research import UserActiveResearch 

7from .auth import User 

8from .base import Base 

9from .benchmark import ( 

10 BenchmarkConfig, 

11 BenchmarkProgress, 

12 BenchmarkResult, 

13 BenchmarkRun, 

14 BenchmarkStatus, 

15 DatasetType, 

16) 

17from .cache import Cache, SearchCache 

18from .chat import ( 

19 ChatMessage, 

20 ChatMessageType, 

21 ChatProgressStep, 

22 ChatRole, 

23 ChatSession, 

24 ChatSessionStatus, 

25) 

26from .citation import Paper, PaperAppearance 

27from .journal import Journal 

28from .logs import ResearchLog 

29from .metrics import ModelUsage, ResearchRating, SearchCall, TokenUsage 

30from .providers import ProviderModel 

31from .queue import QueueStatus, TaskMetadata 

32from .queued_research import QueuedResearch 

33from .rate_limiting import RateLimitAttempt, RateLimitEstimate 

34from .reports import Report, ReportSection 

35from .research import ( 

36 Research, 

37 ResearchHistory, 

38 ResearchMode, 

39 ResearchResource, 

40 ResearchStatus, 

41 ResearchStrategy, 

42 ResearchTask, 

43 SearchQuery, 

44 SearchResult, 

45) 

46from .settings import APIKey, Setting, SettingType, UserSettings 

47from .user_news_search_history import UserNewsSearchHistory 

48from .news import ( 

49 NewsSubscription, 

50 SubscriptionFolder, 

51 NewsCard, 

52 UserRating, 

53 UserPreference, 

54 NewsInterest, 

55 CardType, 

56 RatingType, 

57 SubscriptionType, 

58 SubscriptionStatus, 

59) 

60 

61# Import Library models - Unified architecture 

62from .library import ( 

63 # New unified models 

64 SourceType, 

65 UploadBatch, 

66 Document, 

67 Collection, 

68 DocumentCollection, 

69 DownloadQueue, 

70 # Existing models 

71 DocumentChunk, 

72 LibraryStatistics, 

73 RAGIndex, 

74 CollectionFolder, 

75 CollectionFolderFile, 

76 RAGIndexStatus, 

77 # RAG document status 

78 RagDocumentStatus, 

79) 

80 

81# Note: Text content is now directly in Document.text_content field 

82from .download_tracker import ( 

83 DownloadTracker, 

84 DownloadDuplicates, 

85 DownloadAttempt, 

86) 

87 

88# Import File Integrity models 

89from .file_integrity import ( 

90 FileIntegrityRecord, 

91 FileVerificationFailure, 

92) 

93 

94# Import Domain Classification model 

95from ...domain_classifier.models import DomainClassification 

96 

97__all__ = [ 

98 # Base 

99 "Base", 

100 # Active Research 

101 "UserActiveResearch", 

102 # Auth 

103 "User", 

104 # Queue 

105 "QueueStatus", 

106 "TaskMetadata", 

107 # Queued Research 

108 "QueuedResearch", 

109 # Benchmark 

110 "BenchmarkStatus", 

111 "DatasetType", 

112 "BenchmarkRun", 

113 "BenchmarkResult", 

114 "BenchmarkConfig", 

115 "BenchmarkProgress", 

116 # Cache 

117 "Cache", 

118 "SearchCache", 

119 # Papers (deduplicated academic papers) 

120 "Paper", 

121 "PaperAppearance", 

122 # Logs 

123 "ResearchLog", 

124 "Journal", 

125 # Metrics 

126 "TokenUsage", 

127 "ModelUsage", 

128 "ResearchRating", 

129 "SearchCall", 

130 # Providers 

131 "ProviderModel", 

132 # Rate Limiting 

133 "RateLimitAttempt", 

134 "RateLimitEstimate", 

135 # Reports 

136 "Report", 

137 "ReportSection", 

138 # Research 

139 "ResearchTask", 

140 "SearchQuery", 

141 "SearchResult", 

142 "ResearchHistory", 

143 "Research", 

144 "ResearchStrategy", 

145 "ResearchMode", 

146 "ResearchStatus", 

147 "ResearchResource", 

148 # Settings 

149 "UserSettings", 

150 "APIKey", 

151 "Setting", 

152 "SettingType", 

153 # User News Search History 

154 "UserNewsSearchHistory", 

155 # News Models 

156 "NewsSubscription", 

157 "SubscriptionFolder", 

158 "NewsCard", 

159 "UserRating", 

160 "UserPreference", 

161 "NewsInterest", 

162 "CardType", 

163 "RatingType", 

164 "SubscriptionType", 

165 "SubscriptionStatus", 

166 # Library Models - Unified Architecture 

167 "SourceType", 

168 "UploadBatch", 

169 "Document", 

170 "Collection", 

171 "DocumentCollection", 

172 "DownloadQueue", 

173 "DocumentChunk", 

174 "LibraryStatistics", 

175 "RAGIndex", 

176 "RAGIndexStatus", 

177 "CollectionFolder", 

178 "CollectionFolderFile", 

179 "RagDocumentStatus", 

180 # Download Tracker Models 

181 "DownloadTracker", 

182 "DownloadDuplicates", 

183 "DownloadAttempt", 

184 # File Integrity Models 

185 "FileIntegrityRecord", 

186 "FileVerificationFailure", 

187 # Chat Models 

188 "ChatSession", 

189 "ChatMessage", 

190 "ChatMessageType", 

191 "ChatProgressStep", 

192 "ChatRole", 

193 "ChatSessionStatus", 

194 # Domain Classification 

195 "DomainClassification", 

196]