Coverage for src/local_deep_research/followup_research/models.py: 100%

9 statements  

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

1""" 

2Data models for follow-up research functionality. 

3""" 

4 

5from dataclasses import dataclass 

6from typing import Dict, Any 

7 

8 

9@dataclass 

10class FollowUpRequest: 

11 """Request model for follow-up research.""" 

12 

13 parent_research_id: str 

14 question: str 

15 strategy: str = "source-based" # Default delegate strategy 

16 max_iterations: int = 1 # Quick summary by default 

17 questions_per_iteration: int = 3 

18 

19 def to_dict(self) -> Dict[str, Any]: 

20 """Convert to dictionary for API/service use.""" 

21 return { 

22 "parent_research_id": self.parent_research_id, 

23 "question": self.question, 

24 "strategy": self.strategy, 

25 "max_iterations": self.max_iterations, 

26 "questions_per_iteration": self.questions_per_iteration, 

27 }