| src / local_deep_research / __init__.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / __version__.py |
(no function) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / __init__.py |
(no function) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / __init__.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer.explore |
|
0% |
30 |
30 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer.generate_exploration_queries |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._choose_strategy |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._get_top_strategies |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._generate_query_with_strategy |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._direct_search_query |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._synonym_expansion_query |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._category_exploration_query |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._related_terms_query |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._constraint_focused_query |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._update_strategy_stats |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._adapt_strategy |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
AdaptiveExplorer._try_next_strategy |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / adaptive_explorer.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer.explore |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer.generate_exploration_queries |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._execute_search |
|
69% |
16 |
5 |
0 |
|
75% |
4 |
1 |
|
70% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._extract_candidates_from_results |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._generate_answer_candidates |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._extract_entity_names |
|
14% |
14 |
12 |
0 |
|
17% |
6 |
1 |
|
15% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._should_continue_exploration |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._deduplicate_candidates |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
BaseCandidateExplorer._rank_candidates_by_relevance |
|
73% |
15 |
4 |
0 |
|
62% |
8 |
3 |
|
70% |
| src / local_deep_research / advanced_search_system / candidate_exploration / base_explorer.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer.explore |
|
0% |
39 |
39 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer.generate_exploration_queries |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._prioritize_constraints |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._generate_constraint_queries |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._name_pattern_queries |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._property_queries |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._event_queries |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._location_queries |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._cross_constraint_exploration |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._combine_constraints_query |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._early_validate_candidates |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._quick_name_validation |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._rank_by_constraint_alignment |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
ConstraintGuidedExplorer._basic_exploration |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / constraint_guided_explorer.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer.__init__ |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer.explore |
|
0% |
41 |
41 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer.generate_exploration_queries |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._categorize_candidates |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._determine_category |
|
0% |
18 |
18 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._calculate_diversity_score |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._find_underrepresented_categories |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._generate_diversity_queries |
|
0% |
26 |
26 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._generate_category_queries |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._filter_for_diversity |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._is_sufficiently_different |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._final_diversity_selection |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
DiversityExplorer._rank_by_diversity |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / diversity_explorer.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer.explore |
|
0% |
35 |
35 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer.generate_exploration_queries |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer._generate_query_variations |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer._generate_candidate_based_queries |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
ParallelExplorer._generate_constraint_queries |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / parallel_explorer.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
SearchProgress.update_coverage |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
SearchProgress.get_uncovered_entities |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer.explore |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer.generate_verification_searches |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer._extract_candidates_from_results |
|
0% |
18 |
18 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer._update_entity_coverage |
|
0% |
5 |
5 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer.suggest_next_searches |
|
0% |
22 |
22 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer._parallel_search |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
ProgressiveExplorer._parallel_search.search_query |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidate_exploration / progressive_explorer.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidates / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
Candidate.add_evidence |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
Candidate.calculate_score |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
Candidate.get_unverified_constraints |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
Candidate.get_weak_evidence |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / candidates / base_candidate.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / __init__.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker.check_candidate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker.should_reject_candidate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker._gather_evidence_for_constraint |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker._log_constraint_result |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
BaseConstraintChecker._calculate_weighted_score |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / base_constraint_checker.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
ConstraintChecker.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
ConstraintChecker.check_candidate |
|
65% |
31 |
11 |
0 |
|
62% |
8 |
3 |
|
64% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
ConstraintChecker._gather_evidence_for_constraint |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / advanced_search_system / constraint_checking / constraint_checker.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker.__init__ |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker.check_candidate |
|
0% |
32 |
32 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker._evaluate_constraint_with_reevaluation |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker._should_early_reject |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker.should_reject_candidate_from_averages |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker.should_reject_candidate |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker._log_constraint_result_detailed |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
DualConfidenceChecker._llm_prescreen_candidate |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / dual_confidence_checker.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
EvidenceAnalyzer.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
EvidenceAnalyzer.analyze_evidence_dual_confidence |
|
68% |
19 |
6 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
EvidenceAnalyzer._extract_score |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
EvidenceAnalyzer.evaluate_evidence_list |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / evidence_analyzer.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer.relax_constraints_progressively |
|
100% |
26 |
0 |
0 |
|
75% |
12 |
3 |
|
92% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._create_constraint_variations |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._relax_statistical_constraint |
|
88% |
17 |
2 |
0 |
|
100% |
4 |
0 |
|
90% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._relax_comparison_constraint |
|
60% |
15 |
6 |
0 |
|
60% |
10 |
2 |
|
60% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._relax_temporal_constraint |
|
100% |
18 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._relax_property_constraint |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._create_relaxed_constraint |
|
55% |
11 |
5 |
0 |
|
25% |
8 |
2 |
|
42% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer._get_constraint_type |
|
15% |
20 |
17 |
0 |
|
11% |
18 |
2 |
|
13% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
IntelligentConstraintRelaxer.analyze_relaxation_impact |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / intelligent_constraint_relaxer.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
RejectionEngine.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
RejectionEngine.should_reject_candidate |
|
89% |
9 |
1 |
0 |
|
83% |
6 |
1 |
|
87% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
RejectionEngine.check_all_constraints |
|
43% |
7 |
4 |
0 |
|
25% |
4 |
1 |
|
36% |
| src / local_deep_research / advanced_search_system / constraint_checking / rejection_engine.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker.check_candidate |
|
0% |
21 |
21 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker.should_reject_candidate |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker._evaluate_constraint_strictly |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
StrictChecker._check_name_pattern_strictly |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / strict_checker.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
ThresholdChecker.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
ThresholdChecker.check_candidate |
|
0% |
28 |
28 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
ThresholdChecker.should_reject_candidate |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
ThresholdChecker._check_constraint_satisfaction |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraint_checking / threshold_checker.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
Constraint.__post_init__ |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
Constraint.to_search_terms |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
Constraint.is_critical |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / base_constraint.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
ConstraintAnalyzer.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
ConstraintAnalyzer.extract_constraints |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
ConstraintAnalyzer._parse_constraint_type |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
ConstraintAnalyzer._parse_weight |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / constraints / constraint_analyzer.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
EvidenceType.base_confidence |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
Evidence.__post_init__ |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / base_evidence.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator.extract_evidence |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator._parse_evidence_response |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator._parse_evidence_type |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
EvidenceEvaluator._assess_match_quality |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / evaluator.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
EvidenceRequirements.get_requirements |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
EvidenceRequirements.get_minimum_confidence |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / evidence / requirements.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / base_filter.py |
BaseFilter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / base_filter.py |
BaseFilter.filter_results |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / base_filter.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / cross_engine_filter.py |
CrossEngineFilter.__init__ |
|
92% |
13 |
1 |
0 |
|
75% |
4 |
1 |
|
88% |
| src / local_deep_research / advanced_search_system / filters / cross_engine_filter.py |
CrossEngineFilter.filter_results |
|
99% |
73 |
1 |
0 |
|
82% |
50 |
9 |
|
92% |
| src / local_deep_research / advanced_search_system / filters / cross_engine_filter.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
FollowUpRelevanceFilter.filter_results |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
FollowUpRelevanceFilter._select_relevant_sources |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / followup_relevance_filter.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__init__ |
|
0% |
20 |
20 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.create_default |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__db_session |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__make_search_system |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__analyze_journal_reputation |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__add_journal_to_db |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__clean_journal_name |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.__check_result |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
JournalReputationFilter.filter_results |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / filters / journal_reputation_filter.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository.add_finding |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository.get_findings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository.clear_findings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
BaseFindingsRepository.synthesize_findings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / base_findings.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
format_links |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.add_finding |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.get_findings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.clear_findings |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.add_documents |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.set_questions_by_iteration |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.format_findings_to_text |
|
75% |
12 |
3 |
0 |
|
50% |
2 |
1 |
|
71% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.synthesize_findings |
|
0% |
115 |
115 |
0 |
|
0% |
60 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.synthesize_findings.timeout_handler |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.synthesize_findings.timeout_handler.handler |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.synthesize_findings.invoke_with_timeout |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
FindingsRepository.synthesize_findings.invoke_with_timeout.target |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / findings / repository.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.generate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.generate_knowledge |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.generate_sub_knowledge |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.compress_knowledge |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator.format_citations |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator._validate_knowledge |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator._validate_links |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
BaseKnowledgeGenerator._extract_key_points |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / base_knowledge.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.build_context |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._extract_findings |
|
0% |
10 |
10 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._extract_sources |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._extract_entities |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._create_summary |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._extract_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.summarize_for_followup |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler._generate_summary |
|
0% |
22 |
22 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.identify_gaps |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.format_for_settings_snapshot |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
FollowUpContextHandler.get_relevant_context_for_llm |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / followup_context_manager.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge.generate_knowledge |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge.generate_sub_knowledge |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge.generate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge.compress_knowledge |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
StandardKnowledge.format_citations |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / knowledge / standard_knowledge.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / __init__.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
AtomicFactQuestionGenerator.generate_questions |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
AtomicFactQuestionGenerator._decompose_to_atomic_facts |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
AtomicFactQuestionGenerator._generate_gap_filling_questions |
|
0% |
17 |
17 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / atomic_fact_question.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
BaseQuestionGenerator.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
BaseQuestionGenerator.generate_questions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
BaseQuestionGenerator._format_previous_questions |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / base_question.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator.generate_questions |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._extract_entities |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._expand_temporal_ranges |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._generate_initial_searches |
|
0% |
34 |
34 |
0 |
|
0% |
32 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._generate_progressive_searches |
|
0% |
47 |
47 |
0 |
|
0% |
40 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._format_previous_searches |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
BrowseCompQuestionGenerator._was_searched |
|
0% |
7 |
7 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / browsecomp_question.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
DecompositionQuestionGenerator.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
DecompositionQuestionGenerator.generate_questions |
|
0% |
87 |
87 |
0 |
|
0% |
62 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
DecompositionQuestionGenerator._generate_default_questions |
|
0% |
36 |
36 |
0 |
|
0% |
26 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / decomposition_question.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
EntityAwareQuestionGenerator.generate_questions |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
EntityAwareQuestionGenerator.generate_sub_questions |
|
0% |
23 |
23 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / entity_aware_question.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / flexible_browsecomp_question.py |
FlexibleBrowseCompQuestionGenerator._generate_progressive_searches |
|
0% |
22 |
22 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / flexible_browsecomp_question.py |
(no function) |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
BaseFollowUpQuestionGenerator.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
BaseFollowUpQuestionGenerator.set_follow_up_context |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
BaseFollowUpQuestionGenerator.generate_contextualized_query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
BaseFollowUpQuestionGenerator.generate_questions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / base_followup_question.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
LLMFollowUpQuestionGenerator.generate_contextualized_query |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
LLMFollowUpQuestionGenerator.generate_questions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / llm_followup_question.py |
(no function) |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / simple_followup_question.py |
SimpleFollowUpQuestionGenerator.generate_contextualized_query |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / followup / simple_followup_question.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / news_question.py |
NewsQuestionGenerator.generate_questions |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / news_question.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
StandardQuestionGenerator.generate_questions |
|
87% |
15 |
2 |
0 |
|
50% |
4 |
2 |
|
79% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
StandardQuestionGenerator.generate_sub_questions |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / questions / standard_question.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / repositories / __init__.py |
(no function) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / tools / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool.execute |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool.get_schema |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool.validate_parameters |
|
100% |
17 |
0 |
0 |
|
92% |
12 |
1 |
|
97% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool._log_execution |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
BaseTool._log_result |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / base_tool.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / knowledge_tools / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / question_tools / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / advanced_search_system / tools / search_tools / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / benchmark_functions.py |
evaluate_simpleqa |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / api / benchmark_functions.py |
evaluate_browsecomp |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / api / benchmark_functions.py |
evaluate_xbench_deepsearch |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / api / benchmark_functions.py |
get_available_benchmarks |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / benchmark_functions.py |
compare_configurations |
|
0% |
39 |
39 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / api / benchmark_functions.py |
(no function) |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.login |
|
0% |
26 |
26 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient._api_headers |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.quick_research |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.wait_for_research |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.get_settings |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.update_setting |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.get_history |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.logout |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.submit_benchmark |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.get_benchmarks |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
LDRClient.__exit__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
quick_query |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / api / client.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / research_functions.py |
_init_search_system |
|
58% |
26 |
11 |
0 |
|
56% |
16 |
3 |
|
57% |
| src / local_deep_research / api / research_functions.py |
quick_summary |
|
93% |
41 |
3 |
0 |
|
86% |
22 |
3 |
|
90% |
| src / local_deep_research / api / research_functions.py |
generate_report |
|
75% |
36 |
9 |
0 |
|
73% |
22 |
6 |
|
74% |
| src / local_deep_research / api / research_functions.py |
detailed_research |
|
100% |
19 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / api / research_functions.py |
analyze_documents |
|
0% |
38 |
38 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / api / research_functions.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager._get_typed_value |
|
83% |
12 |
2 |
0 |
|
75% |
4 |
1 |
|
81% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager._load_defaults |
|
82% |
22 |
4 |
0 |
|
83% |
12 |
2 |
|
82% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.get_setting |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.set_setting |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.get_all_settings |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.load_from_defaults_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.create_or_update_setting |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.delete_setting |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| src / local_deep_research / api / settings_utils.py |
InMemorySettingsManager.import_settings |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / api / settings_utils.py |
get_default_settings_snapshot |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
create_settings_snapshot |
|
89% |
37 |
4 |
0 |
|
88% |
32 |
4 |
|
88% |
| src / local_deep_research / api / settings_utils.py |
extract_setting_value |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / api / settings_utils.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / __init__.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
evaluate_simpleqa |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
evaluate_browsecomp |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
evaluate_xbench_deepsearch |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
get_available_benchmarks |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
compare_configurations |
|
0% |
38 |
38 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / benchmark_functions.py |
(no function) |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
compare_configurations |
|
0% |
42 |
42 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_evaluate_single_configuration |
|
0% |
36 |
36 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_calculate_average_metrics |
|
0% |
31 |
31 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_comparison_visualizations |
|
0% |
23 |
23 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_metric_comparison_chart |
|
0% |
30 |
30 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart |
|
0% |
37 |
37 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes.fill |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes.plot |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes.set_varlabels |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes._gen_axes_patch |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.RadarAxes._gen_axes_spines |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_spider_chart.radar_factory.unit_poly_verts |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
_create_pareto_chart |
|
0% |
42 |
42 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / evaluator.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results.add_result |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results.get_all |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results.get_best |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results._load_results |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
Benchmark_results._save_results |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / comparison / results.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets.py |
(no function) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / __init__.py |
get_available_datasets |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / __init__.py |
load_dataset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / __init__.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_dataset_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_default_dataset_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.process_example |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.load |
|
0% |
33 |
33 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_examples |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_example |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_question |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
BenchmarkDataset.get_answer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry.register |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry.get_dataset_class |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry.create_dataset |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry.get_available_datasets |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
DatasetRegistry.load_dataset |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / base.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset.get_dataset_info |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset.get_default_dataset_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset.process_example |
|
0% |
35 |
35 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset.get_question |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
BrowseCompDataset.get_answer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / browsecomp.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset.get_dataset_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset.get_default_dataset_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset.process_example |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset.get_question |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
CustomDataset.get_answer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / custom_dataset_template.py |
(no function) |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset.get_dataset_info |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset.get_default_dataset_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset.process_example |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset.get_question |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
SimpleQADataset.get_answer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / simpleqa.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / utils.py |
derive_key |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / utils.py |
decrypt |
|
53% |
51 |
24 |
0 |
|
62% |
16 |
2 |
|
55% |
| src / local_deep_research / benchmarks / datasets / utils.py |
get_known_answer_map |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / utils.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.xor_decrypt |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.get_dataset_info |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.get_default_dataset_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.load |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.load_data |
|
0% |
37 |
37 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset._load_from_url |
|
0% |
31 |
31 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
XBenchDeepSearchDataset.process_example |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / datasets / xbench_deepsearch.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / efficiency / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.__init__ |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.start |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.stop |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor._monitor_resources |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.monitor |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.get_process_stats |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.get_system_stats |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.get_combined_stats |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.print_summary |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
ResourceMonitor.export_data |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
check_system_resources |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / resource_monitor.py |
(no function) |
|
88% |
24 |
3 |
0 |
|
100% |
0 |
0 |
|
88% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.start |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.stop |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.start_timer |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.stop_timer |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.timer |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.get_timings |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.get_summary |
|
0% |
15 |
15 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
SpeedProfiler.print_summary |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
time_function |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
time_function.wrapper |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / efficiency / speed_profiler.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / base.py |
BaseBenchmarkEvaluator.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / base.py |
BaseBenchmarkEvaluator.get_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / base.py |
BaseBenchmarkEvaluator.evaluate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / base.py |
BaseBenchmarkEvaluator._create_subdirectory |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / base.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
BrowseCompEvaluator.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
BrowseCompEvaluator.evaluate |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / browsecomp.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
CompositeBenchmarkEvaluator.__init__ |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
CompositeBenchmarkEvaluator.evaluate |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / composite.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
SimpleQAEvaluator.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
SimpleQAEvaluator.evaluate |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
SimpleQAEvaluator._run_with_dataset_class |
|
0% |
43 |
43 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / evaluators / simpleqa.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / graders.py |
get_evaluation_llm |
|
100% |
16 |
0 |
0 |
|
80% |
10 |
2 |
|
92% |
| src / local_deep_research / benchmarks / graders.py |
extract_answer_from_response |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / benchmarks / graders.py |
grade_single_result |
|
90% |
41 |
4 |
0 |
|
50% |
8 |
2 |
|
84% |
| src / local_deep_research / benchmarks / graders.py |
grade_results |
|
0% |
66 |
66 |
0 |
|
0% |
24 |
0 |
|
0% |
| src / local_deep_research / benchmarks / graders.py |
human_evaluation |
|
0% |
48 |
48 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / benchmarks / graders.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics.py |
(no function) |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
calculate_metrics |
|
100% |
43 |
0 |
0 |
|
95% |
22 |
1 |
|
98% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
evaluate_benchmark_quality |
|
0% |
21 |
21 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
measure_execution_time |
|
0% |
21 |
21 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
calculate_quality_metrics |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
calculate_speed_metrics |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
calculate_resource_metrics |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
calculate_combined_score |
|
100% |
17 |
0 |
0 |
|
90% |
10 |
1 |
|
96% |
| src / local_deep_research / benchmarks / metrics / calculation.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / metrics / reporting.py |
generate_report |
|
100% |
49 |
0 |
0 |
|
96% |
26 |
1 |
|
99% |
| src / local_deep_research / benchmarks / metrics / reporting.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / models / __init__.py |
(no function) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / api.py |
optimize_parameters |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / api.py |
optimize_for_speed |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / api.py |
optimize_for_quality |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / api.py |
optimize_for_efficiency |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / api.py |
get_default_param_space |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / api.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / metrics.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer.__init__ |
|
0% |
23 |
23 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer.optimize |
|
0% |
27 |
27 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._get_default_param_space |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._objective |
|
0% |
27 |
27 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._run_experiment |
|
0% |
22 |
22 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._optimization_callback |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._save_results |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_visualizations |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_quick_visualizations |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_optuna_visualizations |
|
0% |
28 |
28 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_custom_visualizations |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_quality_vs_speed_plot |
|
0% |
49 |
49 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_parameter_evolution_plots |
|
0% |
33 |
33 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
OptunaOptimizer._create_duration_vs_score_plot |
|
0% |
32 |
32 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
optimize_parameters |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
optimize_for_speed |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
optimize_for_quality |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
optimize_for_efficiency |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / optimization / optuna_optimizer.py |
(no function) |
|
92% |
40 |
3 |
0 |
|
100% |
0 |
0 |
|
92% |
| src / local_deep_research / benchmarks / runners.py |
format_query |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
run_benchmark |
|
0% |
99 |
99 |
0 |
|
0% |
40 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
run_simpleqa_benchmark |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
run_browsecomp_benchmark |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
run_xbench_deepsearch_benchmark |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / runners.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / templates.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / ui / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
index |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
results |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
start_benchmark |
|
0% |
51 |
51 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_running_benchmark |
|
69% |
13 |
4 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_benchmark_status |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
cancel_benchmark |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_benchmark_history |
|
20% |
50 |
40 |
0 |
|
7% |
14 |
1 |
|
17% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_benchmark_results |
|
0% |
44 |
44 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_saved_configs |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
start_benchmark_simple |
|
12% |
42 |
37 |
0 |
|
6% |
18 |
1 |
|
10% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
validate_config |
|
77% |
22 |
5 |
0 |
|
50% |
12 |
6 |
|
68% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
get_search_quality |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
delete_benchmark_run |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_routes.py |
(no function) |
|
100% |
52 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.add_task |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.update_task_status |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.get_task_status |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.remove_task |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkQueueTracker.cleanup_completed_tasks |
|
0% |
15 |
15 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._get_socket_service |
|
29% |
7 |
5 |
0 |
|
100% |
0 |
0 |
|
29% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.generate_config_hash |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.generate_query_hash |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.create_benchmark_run |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.get_existing_results |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.start_benchmark |
|
0% |
36 |
36 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._run_benchmark_thread |
|
0% |
71 |
71 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._run_benchmark_thread.SettingsContext.__init__ |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._run_benchmark_thread.SettingsContext.get_setting |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._create_task_queue |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._process_benchmark_task |
|
0% |
45 |
45 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._process_benchmark_task.benchmark_progress_callback |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.sync_pending_results |
|
0% |
34 |
34 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._sync_results_to_database |
|
0% |
37 |
37 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._send_progress_update |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService._calculate_final_accuracy |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.update_benchmark_status |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.get_benchmark_status |
|
0% |
53 |
53 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
BenchmarkService.cancel_benchmark |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / benchmarks / web_api / benchmark_service.py |
(no function) |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
CitationHandler.__init__ |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
CitationHandler._create_handler |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
CitationHandler.analyze_initial |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
CitationHandler.analyze_followup |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handler.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler.get_setting |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler._get_output_instruction_prefix |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler._create_documents |
|
100% |
11 |
0 |
0 |
|
88% |
8 |
1 |
|
95% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler._format_sources |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler.analyze_initial |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
BaseCitationHandler.analyze_followup |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / citation_handlers / base_citation_handler.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
ForcedAnswerCitationHandler.analyze_initial |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
ForcedAnswerCitationHandler.analyze_followup |
|
100% |
15 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
ForcedAnswerCitationHandler._needs_answer_extraction |
|
100% |
10 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
ForcedAnswerCitationHandler._extract_direct_answer |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / forced_answer_citation_handler.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler.analyze_initial |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler.analyze_followup |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._identify_question_type |
|
100% |
18 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._apply_precision_extraction |
|
67% |
15 |
5 |
0 |
|
64% |
14 |
5 |
|
66% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_full_name |
|
100% |
29 |
0 |
0 |
|
75% |
20 |
5 |
|
90% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_single_answer |
|
70% |
10 |
3 |
0 |
|
100% |
0 |
0 |
|
70% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_dimension |
|
91% |
45 |
4 |
0 |
|
65% |
20 |
7 |
|
83% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_score |
|
78% |
9 |
2 |
0 |
|
100% |
2 |
0 |
|
82% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_temporal |
|
75% |
12 |
3 |
0 |
|
75% |
4 |
1 |
|
75% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_number |
|
67% |
9 |
3 |
0 |
|
50% |
2 |
1 |
|
64% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_best_name |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
PrecisionExtractionHandler._extract_key_facts |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / precision_extraction_handler.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
StandardCitationHandler.analyze_initial |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
StandardCitationHandler.analyze_followup |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / citation_handlers / standard_citation_handler.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
get_setting_from_snapshot |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
is_openai_available |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
is_anthropic_available |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / config / llm_config.py |
is_openai_endpoint_available |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / config / llm_config.py |
is_ollama_available |
|
73% |
22 |
6 |
0 |
|
100% |
2 |
0 |
|
75% |
| src / local_deep_research / config / llm_config.py |
is_vllm_available |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / config / llm_config.py |
is_lmstudio_available |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
is_llamacpp_available |
|
60% |
10 |
4 |
0 |
|
100% |
2 |
0 |
|
67% |
| src / local_deep_research / config / llm_config.py |
is_google_available |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / config / llm_config.py |
is_openrouter_available |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / config / llm_config.py |
get_available_providers |
|
64% |
22 |
8 |
0 |
|
60% |
20 |
8 |
|
62% |
| src / local_deep_research / config / llm_config.py |
get_selected_llm_provider |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
get_llm |
|
48% |
196 |
101 |
0 |
|
51% |
92 |
15 |
|
49% |
| src / local_deep_research / config / llm_config.py |
get_llm.get_context_window_size |
|
75% |
8 |
2 |
0 |
|
75% |
4 |
1 |
|
75% |
| src / local_deep_research / config / llm_config.py |
get_fallback_model |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
wrap_llm_without_think_tags |
|
46% |
24 |
13 |
0 |
|
29% |
14 |
2 |
|
39% |
| src / local_deep_research / config / llm_config.py |
wrap_llm_without_think_tags.ProcessingLLMWrapper.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
wrap_llm_without_think_tags.ProcessingLLMWrapper.invoke |
|
92% |
13 |
1 |
0 |
|
67% |
6 |
2 |
|
84% |
| src / local_deep_research / config / llm_config.py |
wrap_llm_without_think_tags.ProcessingLLMWrapper.__getattr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / llm_config.py |
(no function) |
|
94% |
33 |
2 |
0 |
|
100% |
0 |
0 |
|
94% |
| src / local_deep_research / config / paths.py |
get_data_directory |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_research_outputs_directory |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_cache_directory |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_logs_directory |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_encrypted_database_path |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_user_database_filename |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_library_directory |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
get_config_directory |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / config / paths.py |
get_models_directory |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / config / paths.py |
get_data_dir |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / paths.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / search_config.py |
get_search_snippets_only_setting |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / search_config.py |
get_search |
|
100% |
19 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src / local_deep_research / config / search_config.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / thread_settings.py |
set_settings_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / config / thread_settings.py |
get_settings_context |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / config / thread_settings.py |
get_setting_from_snapshot |
|
100% |
30 |
0 |
0 |
|
100% |
24 |
0 |
|
100% |
| src / local_deep_research / config / thread_settings.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / constants.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / auth_db.py |
get_auth_db_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / auth_db.py |
init_auth_database |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / auth_db.py |
get_auth_db_session |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / database / auth_db.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase._store_credentials |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase._retrieve_credentials |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase._cleanup_expired |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase.clear_entry |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase.store |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / credential_store_base.py |
CredentialStoreBase.retrieve |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / credential_store_base.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager._get_pool_kwargs |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager._is_valid_encryption_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager._check_encryption_available |
|
91% |
33 |
3 |
0 |
|
75% |
4 |
1 |
|
89% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager._get_user_db_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager._apply_pragmas |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.create_user_database |
|
78% |
46 |
10 |
0 |
|
80% |
10 |
2 |
|
79% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.create_user_database.create_sqlcipher_connection |
|
89% |
9 |
1 |
0 |
|
50% |
2 |
1 |
|
82% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.open_user_database |
|
74% |
31 |
8 |
0 |
|
75% |
8 |
2 |
|
74% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.open_user_database.create_sqlcipher_connection |
|
89% |
9 |
1 |
0 |
|
50% |
2 |
1 |
|
82% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.get_session |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.close_user_database |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.check_database_integrity |
|
62% |
16 |
6 |
0 |
|
67% |
6 |
2 |
|
64% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.change_password |
|
68% |
19 |
6 |
0 |
|
67% |
6 |
2 |
|
68% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.user_exists |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.get_memory_usage |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.create_thread_safe_session_for_metrics |
|
82% |
11 |
2 |
0 |
|
75% |
4 |
1 |
|
80% |
| src / local_deep_research / database / encrypted_db.py |
DatabaseManager.create_thread_safe_session_for_metrics.create_thread_connection |
|
69% |
13 |
4 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / database / encrypted_db.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / initialize.py |
initialize_database |
|
88% |
16 |
2 |
0 |
|
100% |
2 |
0 |
|
89% |
| src / local_deep_research / database / initialize.py |
_initialize_default_settings |
|
83% |
12 |
2 |
0 |
|
100% |
2 |
0 |
|
86% |
| src / local_deep_research / database / initialize.py |
check_database_schema |
|
85% |
13 |
2 |
0 |
|
88% |
8 |
1 |
|
86% |
| src / local_deep_research / database / initialize.py |
_add_column_if_not_exists |
|
26% |
23 |
17 |
0 |
|
25% |
4 |
1 |
|
26% |
| src / local_deep_research / database / initialize.py |
_run_migrations |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / database / initialize.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / library_init.py |
seed_source_types |
|
69% |
16 |
5 |
0 |
|
100% |
4 |
0 |
|
75% |
| src / local_deep_research / database / library_init.py |
ensure_default_library_collection |
|
80% |
15 |
3 |
0 |
|
100% |
2 |
0 |
|
82% |
| src / local_deep_research / database / library_init.py |
initialize_library_for_user |
|
75% |
12 |
3 |
0 |
|
100% |
0 |
0 |
|
75% |
| src / local_deep_research / database / library_init.py |
get_default_library_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / library_init.py |
get_source_type_id |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / library_init.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / __init__.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / active_research.py |
UserActiveResearch.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / active_research.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / auth.py |
User.__repr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / auth.py |
User.database_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / auth.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / base.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / benchmark.py |
(no function) |
|
100% |
101 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / cache.py |
Cache.is_expired |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / database / models / cache.py |
Cache.set_ttl |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / cache.py |
Cache.record_hit |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / cache.py |
Cache.__repr__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / cache.py |
SearchCache.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / cache.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadTracker.__repr__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadDuplicates.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / download_tracker.py |
DownloadAttempt.__repr__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / download_tracker.py |
(no function) |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / file_integrity.py |
FileIntegrityRecord.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / file_integrity.py |
FileVerificationFailure.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / file_integrity.py |
(no function) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / library.py |
SourceType.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
UploadBatch.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
Document.__repr__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
DocumentBlob.__repr__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
Collection.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
DocumentCollection.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
DocumentChunk.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
DownloadQueue.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
LibraryStatistics.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
RAGIndex.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
RagDocumentStatus.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
CollectionFolder.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
CollectionFolderFile.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / library.py |
(no function) |
|
100% |
291 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / logs.py |
ResearchLog.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / logs.py |
Journal.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / logs.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / metrics.py |
TokenUsage.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
ModelUsage.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
ResearchRating.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
SearchCall.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / metrics.py |
(no function) |
|
100% |
92 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / news.py |
SubscriptionFolder.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / news.py |
(no function) |
|
100% |
110 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / providers.py |
ProviderModel.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / providers.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queue.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / queued_research.py |
QueuedResearch.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / queued_research.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / rate_limiting.py |
RateLimitAttempt.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / rate_limiting.py |
RateLimitEstimate.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / rate_limiting.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / reports.py |
Report.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / reports.py |
ReportSection.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / reports.py |
(no function) |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / research.py |
ResearchTask.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
SearchQuery.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
SearchResult.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchResource.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchHistory.__repr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / research.py |
Research.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
ResearchStrategy.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / research.py |
(no function) |
|
100% |
126 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / settings.py |
UserSettings.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
APIKey.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
Setting.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / settings.py |
(no function) |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / models / user_news_search_history.py |
UserNewsSearchHistory.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / user_news_search_history.py |
UserNewsSearchHistory.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / models / user_news_search_history.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.update_queue_status |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.get_queue_status |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.add_task_metadata |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.update_task_status |
|
17% |
12 |
10 |
0 |
|
17% |
6 |
1 |
|
17% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.get_pending_tasks |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.cleanup_old_tasks |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.get_active_task_count |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService.get_queued_task_count |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService._increment_queue_count |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
UserQueueService._update_queue_counts |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / queue_service.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_context.py |
get_user_db_session |
|
71% |
45 |
13 |
0 |
|
79% |
28 |
4 |
|
74% |
| src / local_deep_research / database / session_context.py |
with_user_database |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_context.py |
with_user_database.wrapper |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_context.py |
ensure_db_session |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_context.py |
ensure_db_session.wrapper |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / database / session_context.py |
DatabaseAccessMixin.get_db_session |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_context.py |
DatabaseAccessMixin.execute_with_db |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_context.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.store_session_password |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.get_session_password |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.clear_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.store |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_passwords.py |
SessionPasswordStore.retrieve |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / session_passwords.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_compat.py |
get_sqlcipher_module |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / database / sqlcipher_compat.py |
(no function) |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
_get_key_from_password |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
set_sqlcipher_key |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
set_sqlcipher_rekey |
|
71% |
7 |
2 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / database / sqlcipher_utils.py |
get_sqlcipher_settings |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
apply_sqlcipher_pragmas |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
apply_performance_pragmas |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / sqlcipher_utils.py |
verify_sqlcipher_connection |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / database / sqlcipher_utils.py |
create_sqlcipher_connection |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / sqlcipher_utils.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.store_auth |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.retrieve_auth |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.peek_auth |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.store |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / temp_auth.py |
TemporaryAuthStore.retrieve |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / temp_auth.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager.get_session |
|
86% |
22 |
3 |
0 |
|
83% |
6 |
1 |
|
86% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager.get_current_session |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager._cleanup_thread_session |
|
80% |
10 |
2 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager.cleanup_thread |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
ThreadLocalSessionManager.cleanup_all |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
get_metrics_session |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_local_session.py |
get_current_thread_session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
cleanup_current_thread |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
ThreadSessionContext.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
ThreadSessionContext.__enter__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
ThreadSessionContext.__exit__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_local_session.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_metrics.py |
ThreadSafeMetricsWriter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / database / thread_metrics.py |
ThreadSafeMetricsWriter.set_user_password |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / database / thread_metrics.py |
ThreadSafeMetricsWriter.get_session |
|
82% |
28 |
5 |
0 |
|
79% |
14 |
3 |
|
81% |
| src / local_deep_research / database / thread_metrics.py |
ThreadSafeMetricsWriter.write_token_metrics |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / database / thread_metrics.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / defaults / __init__.py |
get_default_file_path |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / defaults / __init__.py |
list_default_files |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / defaults / __init__.py |
ensure_defaults_exist |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / defaults / __init__.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / __init__.py |
__getattr__ |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / domain_classifier / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier._get_llm |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier._get_domain_samples |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier._build_classification_prompt |
|
100% |
11 |
0 |
0 |
|
83% |
6 |
1 |
|
94% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.classify_domain |
|
24% |
37 |
28 |
0 |
|
12% |
8 |
1 |
|
22% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.classify_all_domains |
|
0% |
49 |
49 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.get_classification |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.get_all_classifications |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / classifier.py |
DomainClassifier.get_categories_summary |
|
100% |
19 |
0 |
0 |
|
62% |
8 |
3 |
|
89% |
| src / local_deep_research / domain_classifier / classifier.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / domain_classifier / models.py |
DomainClassification.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / domain_classifier / models.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / embeddings_config.py |
_get_provider_classes |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / embeddings / embeddings_config.py |
is_sentence_transformers_available |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / embeddings_config.py |
is_ollama_embeddings_available |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / embeddings_config.py |
is_openai_embeddings_available |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / embeddings_config.py |
get_available_embedding_providers |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / embeddings / embeddings_config.py |
get_embedding_function |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / embeddings_config.py |
get_embeddings |
|
85% |
13 |
2 |
0 |
|
62% |
8 |
3 |
|
76% |
| src / local_deep_research / embeddings / embeddings_config.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.create_embeddings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.is_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.get_available_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.get_model_info |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.validate_config |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
BaseEmbeddingProvider.get_provider_info |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / base.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
OllamaEmbeddingsProvider.create_embeddings |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
OllamaEmbeddingsProvider.is_available |
|
73% |
11 |
3 |
0 |
|
100% |
0 |
0 |
|
73% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
OllamaEmbeddingsProvider.get_available_models |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / ollama.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
OpenAIEmbeddingsProvider.create_embeddings |
|
0% |
22 |
22 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
OpenAIEmbeddingsProvider.is_available |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
OpenAIEmbeddingsProvider.get_available_models |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / implementations / openai.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
SentenceTransformersProvider.create_embeddings |
|
75% |
8 |
2 |
0 |
|
50% |
4 |
2 |
|
67% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
SentenceTransformersProvider.is_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
SentenceTransformersProvider.get_available_models |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / providers / implementations / sentence_transformers.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / splitters / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / embeddings / splitters / text_splitter_registry.py |
get_text_splitter |
|
0% |
29 |
29 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / embeddings / splitters / text_splitter_registry.py |
is_semantic_chunker_available |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / embeddings / splitters / text_splitter_registry.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter.categorize_error |
|
100% |
7 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter.get_user_friendly_title |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter.get_suggested_actions |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter.analyze_error |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter._send_error_notifications |
|
77% |
30 |
7 |
0 |
|
67% |
12 |
2 |
|
74% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter._extract_service_name |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter._determine_severity |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
ErrorReporter._is_recoverable |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / error_reporter.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator.generate_error_report |
|
100% |
26 |
0 |
0 |
|
83% |
6 |
1 |
|
97% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator._format_partial_results |
|
100% |
34 |
0 |
0 |
|
88% |
24 |
3 |
|
95% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator._get_technical_context |
|
100% |
27 |
0 |
0 |
|
95% |
20 |
1 |
|
98% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator.generate_quick_error_summary |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / error_handling / report_generator.py |
ErrorReportGenerator._make_error_user_friendly |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / error_handling / report_generator.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
FollowUpRequest.to_dict |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / models.py |
FollowUpResponse.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / followup_research / models.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / routes.py |
prepare_followup |
|
0% |
23 |
23 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / followup_research / routes.py |
start_followup |
|
0% |
57 |
57 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / followup_research / routes.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / service.py |
FollowUpResearchService.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / followup_research / service.py |
FollowUpResearchService.load_parent_research |
|
48% |
25 |
13 |
0 |
|
33% |
6 |
2 |
|
45% |
| src / local_deep_research / followup_research / service.py |
FollowUpResearchService.prepare_research_context |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| src / local_deep_research / followup_research / service.py |
FollowUpResearchService.perform_followup |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / followup_research / service.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure.is_permanent |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure.can_retry_now |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure.get_cooldown_remaining |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / library / download_management / failure_classifier.py |
BaseFailure.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / failure_classifier.py |
PermanentFailure.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
TemporaryFailure.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / failure_classifier.py |
RateLimitFailure.__init__ |
|
100% |
7 |
0 |
0 |
|
50% |
2 |
1 |
|
89% |
| src / local_deep_research / library / download_management / failure_classifier.py |
FailureClassifier.classify_failure |
|
59% |
27 |
11 |
0 |
|
50% |
24 |
4 |
|
55% |
| src / local_deep_research / library / download_management / failure_classifier.py |
FailureClassifier.classify_from_exception |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / failure_classifier.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / filters / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.filter_downloadable_resources |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter._apply_legacy_file_check |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.get_filter_summary |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.get_skipped_resources_info |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.should_skip_resource |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
ResourceFilter.get_retry_statistics |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / filters / resource_filter.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / models / __init__.py |
ResourceDownloadStatus.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / models / __init__.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
ResourceFilterResult.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
FilterSummary.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
FilterSummary.add_result |
|
88% |
8 |
1 |
0 |
|
83% |
6 |
1 |
|
86% |
| src / local_deep_research / library / download_management / retry_manager.py |
FilterSummary.to_dict |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.should_retry_resource |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.record_attempt |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.filter_resources |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.get_filter_summary |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager._get_resource_status |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.get_retry_statistics |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.reset_daily_retry_counters |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
RetryManager.clear_old_permanent_failures |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / retry_manager.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.__init__ |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker._get_session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.mark_failure |
|
0% |
36 |
36 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.mark_success |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.can_retry |
|
0% |
15 |
15 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.get_resource_status |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.get_failed_resources_count |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
ResourceStatusTracker.clear_permanent_failures |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / library / download_management / status_tracker.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.register |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.unregister |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.get |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.is_registered |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.list_registered |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
LLMRegistry.clear |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
register_llm |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
unregister_llm |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
get_llm_from_registry |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
is_llm_registered |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
list_registered_llms |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
clear_llm_registry |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / llm_registry.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderInfo.__init__ |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderInfo._generate_display_name |
|
100% |
17 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderInfo.to_dict |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery.__new__ |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery.discover_providers |
|
80% |
35 |
7 |
0 |
|
79% |
14 |
3 |
|
80% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery.get_provider_info |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery.get_provider_options |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / llm / providers / auto_discovery.py |
ProviderDiscovery.get_provider_class |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
discover_providers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
get_discovered_provider_options |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
get_provider_class |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / auto_discovery.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
get_setting_from_snapshot |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
AnthropicProvider.create_llm |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
AnthropicProvider.is_available |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
create_anthropic_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
is_anthropic_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
register_anthropic_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / anthropic.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
get_setting_from_snapshot |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
CustomOpenAIEndpointProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
CustomOpenAIEndpointProvider.create_llm |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
create_openai_endpoint_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
is_openai_endpoint_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
register_custom_openai_endpoint_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / custom_openai_endpoint.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / google.py |
GoogleProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / google.py |
GoogleProvider.list_models_for_api |
|
12% |
25 |
22 |
0 |
|
10% |
10 |
1 |
|
11% |
| src / local_deep_research / llm / providers / implementations / google.py |
create_google_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / google.py |
is_google_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / google.py |
register_google_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / google.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
IONOSProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
create_ionos_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
is_ionos_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
register_ionos_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ionos.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
LMStudioProvider.create_llm |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
LMStudioProvider.is_available |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
LMStudioProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
create_lmstudio_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
is_lmstudio_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
register_lmstudio_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / lmstudio.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
get_setting_from_snapshot |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
OllamaProvider._get_auth_headers |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
OllamaProvider.list_models_for_api |
|
100% |
14 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
OllamaProvider.create_llm |
|
86% |
42 |
6 |
0 |
|
65% |
20 |
7 |
|
79% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
OllamaProvider.is_available |
|
76% |
25 |
6 |
0 |
|
100% |
4 |
0 |
|
79% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
create_ollama_llm |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
is_ollama_available |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
register_ollama_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / ollama.py |
(no function) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openai.py |
get_setting_from_snapshot |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openai.py |
OpenAIProvider.create_llm |
|
0% |
46 |
46 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openai.py |
OpenAIProvider.is_available |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openai.py |
create_openai_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openai.py |
is_openai_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openai.py |
register_openai_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openai.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
OpenRouterProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
create_openrouter_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
is_openrouter_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
register_openrouter_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / openrouter.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / xai.py |
XAIProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / xai.py |
create_xai_llm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / xai.py |
is_xai_available |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / llm / providers / implementations / xai.py |
register_xai_provider |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / implementations / xai.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / openai_base.py |
get_setting_from_snapshot |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider.create_llm |
|
76% |
38 |
9 |
0 |
|
93% |
14 |
1 |
|
81% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider._create_llm_instance |
|
86% |
14 |
2 |
0 |
|
50% |
4 |
0 |
|
78% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider.is_available |
|
71% |
7 |
2 |
0 |
|
100% |
2 |
0 |
|
78% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider.requires_auth_for_models |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider._get_base_url_for_models |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider.list_models_for_api |
|
100% |
21 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src / local_deep_research / llm / providers / openai_base.py |
OpenAICompatibleProvider.list_models |
|
67% |
9 |
3 |
0 |
|
50% |
2 |
1 |
|
64% |
| src / local_deep_research / llm / providers / openai_base.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
MetricsDatabase.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
MetricsDatabase.get_session |
|
100% |
18 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
get_metrics_db |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / metrics / database.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.__aenter__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.__aexit__ |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.get_model_pricing |
|
100% |
11 |
0 |
0 |
|
83% |
6 |
1 |
|
94% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.calculate_cost |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.calculate_batch_costs |
|
70% |
10 |
3 |
0 |
|
100% |
2 |
0 |
|
75% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.calculate_cost_sync |
|
100% |
14 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
CostCalculator.get_research_cost_summary |
|
100% |
17 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / cost_calculator.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache._load_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache._save_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache._is_expired |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.get |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.set |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.get_model_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.set_model_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.get_all_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.set_all_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.clear |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.clear_expired |
|
100% |
8 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
PricingCache.get_cache_stats |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_cache.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.__aenter__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.__aexit__ |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher._load_static_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.fetch_openai_pricing |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.fetch_anthropic_pricing |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.fetch_google_pricing |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.fetch_huggingface_pricing |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.get_model_pricing |
|
68% |
28 |
9 |
0 |
|
55% |
22 |
4 |
|
62% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher._get_models_by_provider |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.get_all_pricing |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
PricingFetcher.get_provider_from_model |
|
93% |
14 |
1 |
0 |
|
92% |
12 |
1 |
|
92% |
| src / local_deep_research / metrics / pricing / pricing_fetcher.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / query_utils.py |
get_time_filter_condition |
|
100% |
12 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / metrics / query_utils.py |
get_research_mode_condition |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / metrics / query_utils.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker.record_search |
|
89% |
35 |
4 |
0 |
|
100% |
10 |
0 |
|
91% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker.get_search_metrics |
|
100% |
25 |
0 |
0 |
|
75% |
12 |
3 |
|
92% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker.get_research_search_metrics |
|
77% |
13 |
3 |
0 |
|
100% |
0 |
0 |
|
77% |
| src / local_deep_research / metrics / search_tracker.py |
SearchTracker.get_search_time_series |
|
76% |
17 |
4 |
0 |
|
67% |
6 |
2 |
|
74% |
| src / local_deep_research / metrics / search_tracker.py |
get_search_tracker |
|
100% |
16 |
0 |
0 |
|
75% |
4 |
1 |
|
95% |
| src / local_deep_research / metrics / search_tracker.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback.__init__ |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback.on_llm_start |
|
67% |
64 |
21 |
0 |
|
66% |
44 |
5 |
|
67% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback.on_llm_end |
|
100% |
42 |
0 |
0 |
|
75% |
32 |
8 |
|
89% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback.on_llm_error |
|
83% |
6 |
1 |
0 |
|
50% |
4 |
2 |
|
70% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback._get_context_overflow_fields |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback._save_to_db |
|
41% |
51 |
30 |
0 |
|
38% |
16 |
2 |
|
40% |
| src / local_deep_research / metrics / token_counter.py |
TokenCountingCallback.get_counts |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.thread_metrics_db |
|
71% |
7 |
2 |
0 |
|
100% |
2 |
0 |
|
78% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.create_callback |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.get_research_metrics |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.get_overall_metrics |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter._get_metrics_from_encrypted_db |
|
64% |
125 |
45 |
0 |
|
42% |
60 |
25 |
|
57% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter._get_metrics_from_thread_db |
|
27% |
22 |
16 |
0 |
|
12% |
8 |
1 |
|
23% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter._merge_metrics |
|
95% |
20 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter._get_empty_metrics |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.get_enhanced_metrics |
|
72% |
54 |
15 |
0 |
|
50% |
12 |
6 |
|
68% |
| src / local_deep_research / metrics / token_counter.py |
TokenCounter.get_research_timeline_metrics |
|
0% |
37 |
37 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / metrics / token_counter.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / __init__.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
get_recommender |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
_notify_scheduler_about_subscription_change |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
get_news_feed |
|
12% |
128 |
112 |
0 |
|
3% |
58 |
0 |
|
10% |
| src / local_deep_research / news / api.py |
debug_research_items |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
get_subscription_history |
|
36% |
36 |
23 |
0 |
|
17% |
6 |
1 |
|
33% |
| src / local_deep_research / news / api.py |
_format_time_ago |
|
0% |
20 |
20 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
get_subscription |
|
92% |
13 |
1 |
0 |
|
50% |
2 |
1 |
|
87% |
| src / local_deep_research / news / api.py |
get_subscriptions |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
update_subscription |
|
21% |
48 |
38 |
0 |
|
3% |
32 |
1 |
|
14% |
| src / local_deep_research / news / api.py |
create_subscription |
|
41% |
22 |
13 |
0 |
|
0% |
2 |
0 |
|
38% |
| src / local_deep_research / news / api.py |
delete_subscription |
|
56% |
16 |
7 |
0 |
|
50% |
2 |
1 |
|
56% |
| src / local_deep_research / news / api.py |
get_votes_for_cards |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
submit_feedback |
|
0% |
29 |
29 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / api.py |
research_news_item |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
save_news_preferences |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
get_news_categories |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / api.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / base_card.py |
CardVersion.__post_init__ |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.__post_init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.set_progress_callback |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._update_progress |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.save |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.add_version |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.get_latest_version |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.to_base_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.get_card_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._extract_headline |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._extract_summary |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._calculate_impact |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._extract_topics |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
BaseCard._extract_entities |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
NewsCard.__post_init__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
NewsCard.get_card_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
NewsCard.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
ResearchCard.get_card_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
ResearchCard.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
UpdateCard.__post_init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
UpdateCard.get_card_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
UpdateCard.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
OverviewCard.get_card_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
OverviewCard.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / base_card.py |
(no function) |
|
100% |
91 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.register_card_type |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.get_storage |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.create_card |
|
20% |
10 |
8 |
0 |
|
50% |
2 |
1 |
|
25% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.load_card |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.get_user_cards |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.get_recent_cards |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.update_card |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.delete_card |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory._reconstruct_card |
|
0% |
18 |
18 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
CardFactory.create_news_card_from_analysis |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
create_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
load_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_factory.py |
(no function) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.__init__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.create |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.get |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.update |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.list |
|
0% |
14 |
14 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.get_by_user |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.get_latest_version |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.add_version |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.update_latest_info |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.archive_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
SQLCardStorage.pin_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / card_storage.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.analyze_news |
|
11% |
19 |
17 |
0 |
|
25% |
4 |
1 |
|
13% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.extract_news_items |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.generate_big_picture |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.generate_watch_for |
|
0% |
22 |
22 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.generate_patterns |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer.extract_topics |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer._prepare_snippets |
|
100% |
13 |
0 |
0 |
|
70% |
10 |
3 |
|
87% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer._validate_news_item |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer._count_categories |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer._summarize_impact |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
NewsAnalyzer._empty_analysis |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / news_analyzer.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
RelevanceService.calculate_relevance |
|
95% |
20 |
1 |
0 |
|
72% |
18 |
5 |
|
84% |
| src / local_deep_research / news / core / relevance_service.py |
RelevanceService.calculate_trending_score |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
RelevanceService.filter_trending |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
RelevanceService.personalize_feed |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
get_relevance_service |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / core / relevance_service.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback.tracking_enabled |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback.__call__ |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback._track_user_search |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / search_integration.py |
NewsSearchCallback._calculate_quality |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / search_integration.py |
create_search_wrapper |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / search_integration.py |
create_search_wrapper.wrapped_search |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / search_integration.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.create |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.get |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.update |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.delete |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.list |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
BaseStorage.generate_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.get_by_user |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.get_latest_version |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.add_version |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.update_latest_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.archive_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
CardStorage.pin_card |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.get_active_subscriptions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.get_due_subscriptions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.update_refresh_time |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.increment_stats |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.pause_subscription |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.resume_subscription |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SubscriptionStorage.expire_subscription |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
RatingStorage.get_user_rating |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
RatingStorage.upsert_rating |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
RatingStorage.get_ratings_summary |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
RatingStorage.get_user_ratings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage.get_user_preferences |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage.upsert_preferences |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage.add_liked_item |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage.add_disliked_item |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
PreferenceStorage.update_preference_embedding |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SearchHistoryStorage.record_search |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SearchHistoryStorage.get_recent_searches |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SearchHistoryStorage.link_to_subscription |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
SearchHistoryStorage.get_popular_searches |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
NewsItemStorage.get_recent |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
NewsItemStorage.store_batch |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
NewsItemStorage.update_votes |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
NewsItemStorage.get_by_category |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
NewsItemStorage.cleanup_old_items |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage.py |
(no function) |
|
100% |
84 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.__init__ |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager._get_current_session |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.cards |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.subscriptions |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.ratings |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.preferences |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_user_feed |
|
0% |
18 |
18 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_trending_news |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.record_interaction |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_user_subscriptions |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_user_stats |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_card |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.get_card_interactions |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.update_card |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
StorageManager.cleanup_old_data |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
get_storage_manager |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / storage_manager.py |
(no function) |
|
0% |
40 |
40 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
get_local_date_string |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
generate_card_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
generate_subscription_id |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
utc_now |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
hours_ago |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / core / utils.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsAPIException.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsAPIException.to_dict |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsFeatureDisabledException.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / exceptions.py |
InvalidLimitException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionNotFoundException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionCreationException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionUpdateException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SubscriptionDeletionException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
DatabaseAccessException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
NewsFeedGenerationException.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
ResearchProcessingException.__init__ |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| src / local_deep_research / news / exceptions.py |
NotImplementedException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
InvalidParameterException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
SchedulerNotificationException.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / exceptions.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / flask_api.py |
safe_error_message |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_user_id |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_news_feed |
|
0% |
21 |
21 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
create_subscription |
|
0% |
29 |
29 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
vote_on_news |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_batch_feedback |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
submit_feedback |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
research_news_item |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_current_user_subscriptions |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_subscription |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
update_subscription |
|
0% |
22 |
22 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
delete_subscription |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
run_subscription_now |
|
0% |
32 |
32 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_subscription_history |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
save_preferences |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_categories |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_scheduler_status |
|
0% |
23 |
23 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
start_scheduler |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
stop_scheduler |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
check_subscriptions_now |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
trigger_cleanup |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_active_users |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
scheduler_stats |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
check_overdue_subscriptions |
|
0% |
46 |
46 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_folders |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
create_folder |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
update_folder |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
delete_folder |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_subscriptions_organized |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
update_subscription_folder |
|
0% |
25 |
25 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_subscription_stats |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
bad_request |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
not_found |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
internal_error |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
get_search_history |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
add_search_history |
|
0% |
22 |
22 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
clear_search_history |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
debug_database |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / flask_api.py |
(no function) |
|
100% |
113 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.get_user_folders |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.create_folder |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.update_folder |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.delete_folder |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.get_subscriptions_by_folder |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.update_subscription |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.delete_subscription |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager.get_subscription_stats |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
FolderManager._sub_to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / folder_manager.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.get_preferences |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.update_preferences |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.add_interest |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.remove_interest |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.ignore_topic |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.boost_source |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
BasePreferenceManager.get_default_preferences |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry.extract_topics |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry.register_topic |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry.get_trending_topics |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
TopicRegistry.get_topic_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / base_preference.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.__init__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.create |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.get |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.update |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.list |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.get_user_preferences |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.upsert_preferences |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.add_liked_item |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.add_disliked_item |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
SQLPreferenceStorage.update_preference_embedding |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / preference_manager / storage.py |
(no function) |
|
0% |
18 |
18 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.rate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.get_rating |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.get_rating_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.get_recent_ratings |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.get_card_ratings |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem.remove_rating |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem._create_rating_record |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
BaseRatingSystem._validate_rating_value |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRatingSystem.get_rating_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRatingSystem.rate |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRatingSystem._validate_rating_value |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
QualityRatingSystem.get_rating |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRatingSystem.get_rating_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRatingSystem.rate |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRatingSystem._validate_rating_value |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
RelevanceRatingSystem.get_rating |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / base_rater.py |
(no function) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.__init__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.create |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.get |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.update |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.list |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.get_user_rating |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.upsert_rating |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.get_ratings_summary |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage.get_user_ratings |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
SQLRatingStorage._get_rating_distribution |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / rating_system / storage.py |
(no function) |
|
0% |
19 |
19 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender.__init__ |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender.set_progress_callback |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._update_progress |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender.generate_recommendations |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._get_user_preferences |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._get_user_ratings |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._execute_search |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._filter_by_preferences |
|
0% |
11 |
11 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._sort_by_relevance |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender._sort_by_relevance.calculate_score |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
BaseRecommender.get_strategy_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / base_recommender.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender.generate_recommendations |
|
0% |
27 |
27 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender._get_trending_topics |
|
0% |
12 |
12 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender._filter_topics_by_preferences |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender._generate_topic_query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
TopicBasedRecommender._create_recommendation_card |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
SearchBasedRecommender.generate_recommendations |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / recommender / topic_based.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.__init__ |
|
0% |
15 |
15 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription._calculate_next_refresh |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.should_refresh |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.is_due_for_refresh |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.generate_search_query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.get_subscription_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.on_refresh_start |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.on_refresh_success |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.on_refresh_error |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.pause |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.resume |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.update_interval |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.save |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.mark_refreshed |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
BaseSubscription.to_dict |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / base_subscription.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.__new__ |
|
100% |
5 |
0 |
0 |
|
50% |
4 |
2 |
|
78% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.__init__ |
|
89% |
9 |
1 |
0 |
|
50% |
2 |
1 |
|
82% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._load_default_config |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.initialize_with_settings |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._get_setting |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.start |
|
83% |
12 |
2 |
0 |
|
75% |
4 |
1 |
|
81% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.stop |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.update_user_info |
|
90% |
20 |
2 |
0 |
|
75% |
4 |
1 |
|
88% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.unregister_user |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._schedule_user_subscriptions |
|
41% |
46 |
27 |
0 |
|
36% |
14 |
3 |
|
40% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._schedule_document_processing |
|
78% |
46 |
10 |
0 |
|
50% |
6 |
3 |
|
75% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._process_user_documents |
|
0% |
122 |
122 |
0 |
|
0% |
32 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.get_document_scheduler_status |
|
0% |
21 |
21 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.trigger_document_processing |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._check_user_overdue_subscriptions |
|
0% |
20 |
20 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._check_subscription |
|
0% |
38 |
38 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._trigger_subscription_research_sync |
|
0% |
37 |
37 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._trigger_subscription_research_sync.SettingsContext.__init__ |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._trigger_subscription_research_sync.SettingsContext.get_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._store_research_result |
|
0% |
51 |
51 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._store_research_result.make_serializable |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._run_cleanup_with_tracking |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._cleanup_inactive_users |
|
47% |
15 |
8 |
0 |
|
25% |
4 |
1 |
|
42% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._reload_config |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.get_status |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler._estimate_memory_usage |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
NewsScheduler.get_user_sessions_summary |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
get_news_scheduler |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / scheduler.py |
(no function) |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.__init__ |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.query |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.get_subscription_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.generate_search_query |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription._transform_to_news_query |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.evolve_query |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.get_statistics |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscription.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscriptionFactory.from_user_search |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
SearchSubscriptionFactory.from_recommendation |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / search_subscription.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.__init__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.session |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.create |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.get |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.update |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.delete |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.list |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.get_active_subscriptions |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.get_due_subscriptions |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.update_refresh_time |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.increment_stats |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.pause_subscription |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.resume_subscription |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
SQLSubscriptionStorage.expire_subscription |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / storage.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.__init__ |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.get_subscription_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.generate_search_query |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.update_activity |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.evolve_topic |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.add_related_topic |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.merge_with |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.should_auto_expire |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.get_statistics |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscription.to_dict |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscriptionFactory.from_news_extraction |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
TopicSubscriptionFactory.from_user_interest |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / subscription_manager / topic_subscription.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / utils / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / utils / headline_generator.py |
generate_headline |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / utils / headline_generator.py |
_generate_with_llm |
|
100% |
18 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / news / utils / headline_generator.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / utils / topic_generator.py |
generate_topics |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / news / utils / topic_generator.py |
_generate_with_llm |
|
100% |
33 |
0 |
0 |
|
79% |
14 |
3 |
|
94% |
| src / local_deep_research / news / utils / topic_generator.py |
_validate_topics |
|
100% |
18 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / news / utils / topic_generator.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / web.py |
create_news_blueprint |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / news / web.py |
create_news_blueprint.news_page |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.insights_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.preferences_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.subscriptions_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.new_subscription_page |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.edit_subscription_page |
|
0% |
18 |
18 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
create_news_blueprint.health_check |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
load_user_settings |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / news / web.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / __init__.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / exceptions.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager.__init__ |
|
100% |
15 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager._get_setting |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager.send_notification |
|
100% |
30 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager.test_service |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
NotificationManager._should_notify |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / notifications / manager.py |
NotificationManager._log_notification |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / notifications / manager.py |
RateLimiter.__init__ |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter.set_user_limits |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter.get_user_limits |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter.is_allowed |
|
100% |
19 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter._clean_old_entries |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| src / local_deep_research / notifications / manager.py |
RateLimiter.reset |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / notifications / manager.py |
RateLimiter._cleanup_inactive_users_if_needed |
|
91% |
22 |
2 |
0 |
|
79% |
14 |
3 |
|
86% |
| src / local_deep_research / notifications / manager.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / queue_helpers.py |
send_queue_notification |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / notifications / queue_helpers.py |
send_queue_failed_notification |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / notifications / queue_helpers.py |
send_queue_failed_notification_from_session |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / notifications / queue_helpers.py |
send_research_completed_notification_from_session |
|
16% |
32 |
27 |
0 |
|
0% |
6 |
0 |
|
13% |
| src / local_deep_research / notifications / queue_helpers.py |
send_research_failed_notification_from_session |
|
0% |
26 |
26 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / notifications / queue_helpers.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / service.py |
NotificationService.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / service.py |
NotificationService._send_with_retry |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / notifications / service.py |
NotificationService.send |
|
75% |
20 |
5 |
0 |
|
62% |
8 |
3 |
|
71% |
| src / local_deep_research / notifications / service.py |
NotificationService.send_event |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / service.py |
NotificationService.test_service |
|
75% |
16 |
4 |
0 |
|
50% |
6 |
3 |
|
68% |
| src / local_deep_research / notifications / service.py |
NotificationService._validate_url |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / notifications / service.py |
NotificationService.get_service_type |
|
100% |
4 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / notifications / service.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / templates.py |
NotificationTemplate._get_jinja_env |
|
58% |
12 |
5 |
0 |
|
75% |
4 |
1 |
|
62% |
| src / local_deep_research / notifications / templates.py |
NotificationTemplate.format |
|
50% |
24 |
12 |
0 |
|
50% |
6 |
3 |
|
50% |
| src / local_deep_research / notifications / templates.py |
NotificationTemplate._get_fallback_template |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / notifications / templates.py |
NotificationTemplate.get_required_context |
|
0% |
21 |
21 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / notifications / templates.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / notifications / url_builder.py |
build_notification_url |
|
86% |
22 |
3 |
0 |
|
88% |
8 |
1 |
|
87% |
| src / local_deep_research / notifications / url_builder.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / report_generator.py |
get_report_generator |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator.__init__ |
|
78% |
9 |
2 |
0 |
|
75% |
4 |
1 |
|
77% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator.generate_report |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator._determine_report_structure |
|
85% |
26 |
4 |
0 |
|
75% |
16 |
2 |
|
81% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator._research_and_generate_sections |
|
68% |
40 |
13 |
0 |
|
45% |
20 |
5 |
|
60% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator._generate_sections |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator._format_final_report |
|
100% |
20 |
0 |
0 |
|
88% |
8 |
1 |
|
96% |
| src / local_deep_research / report_generator.py |
IntegratedReportGenerator._generate_error_report |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / report_generator.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / __init__.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / routes / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_document |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_document_blob |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
get_document_deletion_preview |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
remove_document_from_collection |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_collection |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_collection_index |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
get_collection_deletion_preview |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_documents_bulk |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
delete_documents_blobs_bulk |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
remove_documents_from_collection_bulk |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
get_bulk_deletion_preview |
|
0% |
14 |
14 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / routes / delete_routes.py |
(no function) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / __init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService.delete_documents |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService.delete_blobs |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService.remove_documents_from_collection |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
BulkDeletionService.get_bulk_preview |
|
83% |
18 |
3 |
0 |
|
67% |
6 |
2 |
|
79% |
| src / local_deep_research / research_library / deletion / services / bulk_deletion.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
CollectionDeletionService.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
CollectionDeletionService.delete_collection |
|
100% |
31 |
0 |
0 |
|
88% |
8 |
1 |
|
97% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
CollectionDeletionService.delete_collection_index_only |
|
84% |
25 |
4 |
0 |
|
100% |
2 |
0 |
|
85% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
CollectionDeletionService.get_deletion_preview |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / collection_deletion.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService.delete_document |
|
82% |
34 |
6 |
0 |
|
83% |
6 |
1 |
|
82% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService.delete_blob_only |
|
57% |
30 |
13 |
0 |
|
50% |
10 |
1 |
|
55% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService.remove_from_collection |
|
54% |
35 |
16 |
0 |
|
62% |
8 |
1 |
|
56% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
DocumentDeletionService.get_deletion_preview |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / services / document_deletion.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_document_chunks |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_collection_chunks |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.get_document_blob_size |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_document_blob |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_filesystem_file |
|
85% |
13 |
2 |
0 |
|
100% |
6 |
0 |
|
89% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_faiss_index_files |
|
84% |
19 |
3 |
0 |
|
100% |
6 |
0 |
|
88% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_rag_indices_for_collection |
|
100% |
10 |
0 |
0 |
|
75% |
4 |
1 |
|
93% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.update_download_tracker |
|
79% |
14 |
3 |
0 |
|
75% |
4 |
1 |
|
78% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.count_document_in_collections |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.get_document_collections |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.remove_from_faiss_index |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
CascadeHelper.delete_document_completely |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / deletion / utils / cascade_helper.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / __init__.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader.can_handle |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader.download |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader.download_with_result |
|
76% |
21 |
5 |
0 |
|
67% |
12 |
2 |
|
73% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader._download_pdf |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader._download_text |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader._extract_arxiv_id |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
ArxivDownloader._fetch_from_arxiv_api |
|
92% |
37 |
3 |
0 |
|
55% |
22 |
8 |
|
78% |
| src / local_deep_research / research_library / downloaders / arxiv.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.can_handle |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.download |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.download_pdf |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.download_with_result |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.download_text |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader._is_pdf_content |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader._download_pdf |
|
91% |
46 |
4 |
0 |
|
93% |
14 |
1 |
|
92% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.extract_text_from_pdf |
|
89% |
18 |
2 |
0 |
|
100% |
4 |
0 |
|
91% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader._fetch_text_from_api |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / base.py |
BaseDownloader.get_metadata |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / base.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader.can_handle |
|
71% |
7 |
2 |
0 |
|
100% |
2 |
0 |
|
78% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader.download |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader.download_with_result |
|
46% |
26 |
14 |
0 |
|
38% |
16 |
4 |
|
43% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader._download_pdf |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader._download_text |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader._convert_to_pdf_url |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
BioRxivDownloader._fetch_abstract_from_page |
|
62% |
24 |
9 |
0 |
|
50% |
10 |
5 |
|
59% |
| src / local_deep_research / research_library / downloaders / biorxiv.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
DirectPDFDownloader.can_handle |
|
62% |
16 |
6 |
0 |
|
62% |
8 |
3 |
|
62% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
DirectPDFDownloader.download |
|
25% |
8 |
6 |
0 |
|
17% |
6 |
1 |
|
21% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
DirectPDFDownloader.download_with_result |
|
42% |
24 |
14 |
0 |
|
29% |
14 |
2 |
|
37% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
DirectPDFDownloader._download_pdf |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / direct_pdf.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / generic.py |
GenericDownloader.can_handle |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / generic.py |
GenericDownloader.download |
|
88% |
8 |
1 |
0 |
|
67% |
6 |
2 |
|
79% |
| src / local_deep_research / research_library / downloaders / generic.py |
GenericDownloader.download_with_result |
|
74% |
47 |
12 |
0 |
|
71% |
24 |
3 |
|
73% |
| src / local_deep_research / research_library / downloaders / generic.py |
GenericDownloader._download_pdf |
|
89% |
19 |
2 |
0 |
|
100% |
6 |
0 |
|
92% |
| src / local_deep_research / research_library / downloaders / generic.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader.can_handle |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader.download |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader.download_with_result |
|
79% |
14 |
3 |
0 |
|
62% |
8 |
3 |
|
73% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader._extract_work_id |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / openalex.py |
OpenAlexDownloader._get_pdf_url |
|
44% |
45 |
25 |
0 |
|
44% |
16 |
5 |
|
44% |
| src / local_deep_research / research_library / downloaders / openalex.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader.can_handle |
|
86% |
14 |
2 |
0 |
|
100% |
8 |
0 |
|
91% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader.download |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader.download_with_result |
|
43% |
7 |
4 |
0 |
|
25% |
4 |
1 |
|
36% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_pdf_content |
|
60% |
10 |
4 |
0 |
|
33% |
6 |
2 |
|
50% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_pdf_with_result |
|
39% |
64 |
39 |
0 |
|
31% |
36 |
5 |
|
36% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_text |
|
0% |
21 |
21 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._fetch_text_from_europe_pmc |
|
86% |
28 |
4 |
0 |
|
57% |
14 |
6 |
|
76% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._apply_rate_limit |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_pmc_direct |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_pubmed |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_europe_pmc |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._try_europe_pmc_api |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._get_pmc_id_from_pmid |
|
83% |
23 |
4 |
0 |
|
67% |
12 |
2 |
|
77% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_via_europe_pmc |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
PubMedDownloader._download_via_ncbi_pmc |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / research_library / downloaders / pubmed.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader.can_handle |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader.download |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader.download_with_result |
|
29% |
14 |
10 |
0 |
|
25% |
8 |
2 |
|
27% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader._extract_paper_id |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
SemanticScholarDownloader._get_pdf_url |
|
68% |
28 |
9 |
0 |
|
70% |
10 |
3 |
|
68% |
| src / local_deep_research / research_library / downloaders / semantic_scholar.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / routes / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / routes / library_routes.py |
is_downloadable_domain |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_authenticated_user_password |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
library_page |
|
0% |
16 |
16 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
document_details_page |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_manager_page |
|
0% |
27 |
27 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_library_stats |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_collections_list |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_documents |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
toggle_favorite |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
delete_document |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_pdf_url |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
view_pdf_page |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
serve_pdf_api |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
view_text_page |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
serve_text_api |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
open_folder |
|
0% |
18 |
18 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_single_resource |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_text_single |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_all_text |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_all_text.generate |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_research_pdfs |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_bulk |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_bulk.generate |
|
0% |
75 |
75 |
0 |
|
0% |
26 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_research_list |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
sync_library |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
mark_for_redownload |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
queue_all_undownloaded |
|
0% |
53 |
53 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
get_research_sources |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
check_downloads |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
download_source |
|
0% |
30 |
30 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / library_routes.py |
(no function) |
|
100% |
100 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_rag_service |
|
0% |
39 |
39 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
embedding_settings_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
view_document_chunks |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
collections_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
collection_details_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
collection_upload_page |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
collection_create_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_current_settings |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
test_embedding |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_available_models |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_index_info |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_rag_stats |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_document |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
remove_document |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_research |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_all |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_all.generate |
|
0% |
33 |
33 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
configure_rag |
|
0% |
35 |
35 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_documents |
|
0% |
35 |
35 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_local_library |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_local_library.generate |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_collections |
|
80% |
15 |
3 |
0 |
|
75% |
4 |
1 |
|
79% |
| src / local_deep_research / research_library / routes / rag_routes.py |
create_collection |
|
89% |
19 |
2 |
0 |
|
100% |
4 |
0 |
|
91% |
| src / local_deep_research / research_library / routes / rag_routes.py |
update_collection |
|
90% |
21 |
2 |
0 |
|
88% |
8 |
1 |
|
90% |
| src / local_deep_research / research_library / routes / rag_routes.py |
delete_collection |
|
83% |
12 |
2 |
0 |
|
100% |
2 |
0 |
|
86% |
| src / local_deep_research / research_library / routes / rag_routes.py |
extract_text_from_file |
|
0% |
46 |
46 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
upload_to_collection |
|
0% |
100 |
100 |
0 |
|
0% |
32 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_collection_documents |
|
0% |
34 |
34 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_collection |
|
0% |
18 |
18 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_collection.generate |
|
0% |
81 |
81 |
0 |
|
0% |
24 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
index_collection.generate.index_in_thread |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
_get_rag_service_for_thread |
|
0% |
57 |
57 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
_background_index_worker |
|
0% |
52 |
52 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
_update_task_status |
|
0% |
20 |
20 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
_is_task_cancelled |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
start_background_index |
|
0% |
27 |
27 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
get_index_status |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
cancel_indexing |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / routes / rag_routes.py |
(no function) |
|
100% |
112 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.__init__ |
|
89% |
18 |
2 |
0 |
|
50% |
2 |
1 |
|
85% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._setup_directories |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._normalize_url |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._get_url_hash |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.is_already_downloaded |
|
80% |
10 |
2 |
0 |
|
75% |
4 |
1 |
|
79% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.get_text_content |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.queue_research_downloads |
|
83% |
23 |
4 |
0 |
|
70% |
10 |
3 |
|
79% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._is_downloadable |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.download_resource |
|
15% |
33 |
28 |
0 |
|
7% |
14 |
1 |
|
13% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_pdf |
|
0% |
91 |
91 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._extract_text_from_pdf |
|
100% |
23 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService.download_as_text |
|
0% |
17 |
17 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._try_existing_text |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._try_legacy_text_file |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._try_existing_pdf_extraction |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._try_api_text_extraction |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._fallback_pdf_extraction |
|
0% |
31 |
31 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._get_downloader |
|
75% |
4 |
1 |
0 |
|
75% |
4 |
1 |
|
75% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_generic |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_arxiv |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._try_europe_pmc |
|
0% |
22 |
22 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_pubmed |
|
0% |
98 |
98 |
0 |
|
0% |
42 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_semantic_scholar |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_biorxiv |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._download_medrxiv |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._save_text_with_db |
|
0% |
39 |
39 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._create_text_document_record |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
DownloadService._record_failed_text_extraction |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / download_service.py |
(no function) |
|
100% |
54 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.__init__ |
|
96% |
28 |
1 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.db_password |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.db_password |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService._get_index_hash |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService._get_index_path |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService._get_or_create_rag_index |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.load_or_create_faiss_index |
|
22% |
59 |
46 |
0 |
|
22% |
18 |
4 |
|
22% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.get_current_index_info |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.index_document |
|
20% |
75 |
60 |
0 |
|
27% |
26 |
1 |
|
22% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.index_all_documents |
|
0% |
23 |
23 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.remove_document_from_rag |
|
24% |
17 |
13 |
0 |
|
50% |
2 |
1 |
|
26% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.index_documents_batch |
|
65% |
26 |
9 |
0 |
|
62% |
8 |
3 |
|
65% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.get_rag_stats |
|
80% |
15 |
3 |
0 |
|
50% |
4 |
2 |
|
74% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.index_local_file |
|
0% |
47 |
47 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.index_user_document |
|
0% |
41 |
41 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.remove_collection_from_index |
|
0% |
24 |
24 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_rag_service.py |
LibraryRAGService.search_library |
|
100% |
0 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_rag_service.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._has_blob_in_db |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._is_arxiv_url |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._is_pubmed_url |
|
71% |
14 |
4 |
0 |
|
75% |
8 |
2 |
|
73% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._apply_domain_filter |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._apply_search_filter |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_library_stats |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_documents |
|
0% |
37 |
37 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_all_collections |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_research_list_with_stats |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_document_by_id |
|
29% |
14 |
10 |
0 |
|
25% |
4 |
1 |
|
28% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.toggle_favorite |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.delete_document |
|
18% |
22 |
18 |
0 |
|
10% |
10 |
1 |
|
16% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.open_file_location |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.get_unique_domains |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._extract_domain |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._get_url_hash |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService._get_storage_path |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.sync_library_with_filesystem |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
LibraryService.mark_for_redownload |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / research_library / services / library_service.py |
(no function) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.save_pdf |
|
95% |
22 |
1 |
0 |
|
88% |
8 |
1 |
|
93% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.load_pdf |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.has_pdf |
|
36% |
11 |
7 |
0 |
|
25% |
8 |
0 |
|
32% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._infer_storage_mode |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._save_to_filesystem |
|
91% |
11 |
1 |
0 |
|
75% |
4 |
1 |
|
87% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._save_to_database |
|
56% |
9 |
4 |
0 |
|
50% |
2 |
1 |
|
55% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._load_from_filesystem |
|
55% |
11 |
5 |
0 |
|
75% |
4 |
1 |
|
60% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._load_from_database |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager._generate_filename |
|
86% |
14 |
2 |
0 |
|
75% |
8 |
2 |
|
82% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.delete_pdf |
|
86% |
22 |
3 |
0 |
|
70% |
10 |
3 |
|
81% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
PDFStorageManager.upgrade_to_pdf |
|
76% |
21 |
5 |
0 |
|
83% |
6 |
1 |
|
78% |
| src / local_deep_research / research_library / services / pdf_storage_manager.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / utils / __init__.py |
get_url_hash |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_library / utils / __init__.py |
get_library_storage_path |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
open_file_location |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
get_relative_library_path |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
get_absolute_library_path |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
get_absolute_path_from_settings |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
handle_api_error |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / research_library / utils / __init__.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
DocumentSchedulerUtil.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
DocumentSchedulerUtil.get_status |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
DocumentSchedulerUtil.trigger_manual_run |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
get_document_scheduler |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / document_scheduler.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / routes.py |
get_current_username |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / routes.py |
get_scheduler_status |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / routes.py |
trigger_manual_run |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / research_scheduler / routes.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem.__init__ |
|
82% |
44 |
8 |
0 |
|
67% |
18 |
6 |
|
77% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem._progress_callback |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem.set_progress_callback |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem.analyze_topic |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| src / local_deep_research / search_system.py |
AdvancedSearchSystem._perform_search |
|
90% |
29 |
3 |
0 |
|
50% |
6 |
3 |
|
83% |
| src / local_deep_research / search_system.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / search_system_factory.py |
_get_setting |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / search_system_factory.py |
create_strategy |
|
11% |
133 |
119 |
0 |
|
13% |
78 |
8 |
|
11% |
| src / local_deep_research / search_system_factory.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / __init__.py |
(no function) |
|
61% |
28 |
11 |
0 |
|
100% |
0 |
0 |
|
61% |
| src / local_deep_research / security / data_sanitizer.py |
DataSanitizer.sanitize |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / data_sanitizer.py |
DataSanitizer.redact |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / data_sanitizer.py |
sanitize_data |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / data_sanitizer.py |
redact_data |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / data_sanitizer.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier.should_verify |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier.get_file_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier.allows_modifications |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier.calculate_checksum |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
BaseFileVerifier.get_algorithm |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / base_verifier.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.__init__ |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._normalize_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.register_verifier |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.record_file |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.verify_file |
|
0% |
24 |
24 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.update_checksum |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.get_file_stats |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.get_failure_history |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._get_verifier_for_file |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._needs_verification |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._do_verification |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._update_stats |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._log_failure |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._cleanup_old_failures |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager._check_global_cleanup_needed |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.cleanup_all_old_failures |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
FileIntegrityManager.get_total_failure_count |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / integrity_manager.py |
(no function) |
|
91% |
32 |
3 |
0 |
|
100% |
0 |
0 |
|
91% |
| src / local_deep_research / security / file_integrity / verifiers / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
FAISSIndexVerifier.should_verify |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
FAISSIndexVerifier.get_file_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
FAISSIndexVerifier.allows_modifications |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / file_integrity / verifiers / faiss_verifier.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator.validate_file_size |
|
100% |
12 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator.validate_file_count |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator.validate_mime_type |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator.validate_pdf_structure |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
FileUploadValidator.validate_upload |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / file_upload_validator.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / file_write_verifier.py |
_sanitize_sensitive_data |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / security / file_write_verifier.py |
write_file_verified |
|
53% |
15 |
7 |
0 |
|
50% |
4 |
2 |
|
53% |
| src / local_deep_research / security / file_write_verifier.py |
write_json_verified |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / security / file_write_verifier.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / network_utils.py |
is_private_ip |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / network_utils.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidator._is_private_ip |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidator.validate_service_url |
|
87% |
23 |
3 |
0 |
|
93% |
14 |
1 |
|
89% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidator.validate_service_url_strict |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
NotificationURLValidator.validate_multiple_urls |
|
100% |
10 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / security / notification_validator.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / path_validator.py |
PathValidator.validate_safe_path |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / path_validator.py |
PathValidator.validate_local_filesystem_path |
|
51% |
45 |
22 |
0 |
|
53% |
34 |
6 |
|
52% |
| src / local_deep_research / security / path_validator.py |
PathValidator.sanitize_for_filesystem_ops |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / path_validator.py |
PathValidator.validate_model_path |
|
83% |
12 |
2 |
0 |
|
75% |
8 |
2 |
|
80% |
| src / local_deep_research / security / path_validator.py |
PathValidator.validate_data_path |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| src / local_deep_research / security / path_validator.py |
PathValidator.validate_config_path |
|
52% |
25 |
12 |
0 |
|
50% |
18 |
3 |
|
51% |
| src / local_deep_research / security / path_validator.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / rate_limiter.py |
get_rate_limiter |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / rate_limiter.py |
init_rate_limiter |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / rate_limiter.py |
init_rate_limiter.get_user_identifier |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / rate_limiter.py |
upload_rate_limit |
|
60% |
15 |
6 |
0 |
|
50% |
4 |
0 |
|
58% |
| src / local_deep_research / security / rate_limiter.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / safe_requests.py |
safe_get |
|
100% |
22 |
0 |
0 |
|
90% |
10 |
1 |
|
97% |
| src / local_deep_research / security / safe_requests.py |
safe_post |
|
100% |
22 |
0 |
0 |
|
70% |
10 |
3 |
|
91% |
| src / local_deep_research / security / safe_requests.py |
SafeSession.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / safe_requests.py |
SafeSession.request |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / safe_requests.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders.__init__ |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders.init_app |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders.get_csp_policy |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders.get_permissions_policy |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders.add_security_headers |
|
100% |
16 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders._is_api_route |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders._validate_cors_config |
|
62% |
8 |
3 |
0 |
|
50% |
6 |
3 |
|
57% |
| src / local_deep_research / security / security_headers.py |
SecurityHeaders._add_cors_headers |
|
67% |
21 |
7 |
0 |
|
40% |
10 |
2 |
|
58% |
| src / local_deep_research / security / security_headers.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / ssrf_validator.py |
is_ip_blocked |
|
90% |
21 |
2 |
0 |
|
93% |
14 |
1 |
|
91% |
| src / local_deep_research / security / ssrf_validator.py |
validate_url |
|
72% |
39 |
11 |
0 |
|
92% |
12 |
1 |
|
76% |
| src / local_deep_research / security / ssrf_validator.py |
get_safe_url |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / security / ssrf_validator.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / url_builder.py |
normalize_bind_address |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / security / url_builder.py |
build_base_url_from_settings |
|
87% |
15 |
2 |
0 |
|
100% |
4 |
0 |
|
89% |
| src / local_deep_research / security / url_builder.py |
build_full_url |
|
70% |
10 |
3 |
0 |
|
75% |
4 |
1 |
|
71% |
| src / local_deep_research / security / url_builder.py |
validate_constructed_url |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / security / url_builder.py |
mask_sensitive_url |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / security / url_builder.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / security / url_validator.py |
URLValidator.is_unsafe_scheme |
|
100% |
8 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / security / url_validator.py |
URLValidator.is_safe_url |
|
90% |
29 |
3 |
0 |
|
100% |
20 |
0 |
|
94% |
| src / local_deep_research / security / url_validator.py |
URLValidator._has_suspicious_patterns |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / url_validator.py |
URLValidator.sanitize_url |
|
80% |
15 |
3 |
0 |
|
88% |
8 |
1 |
|
83% |
| src / local_deep_research / security / url_validator.py |
URLValidator.is_academic_url |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| src / local_deep_research / security / url_validator.py |
URLValidator.extract_doi |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / security / url_validator.py |
URLValidator.validate_http_url |
|
86% |
21 |
3 |
0 |
|
81% |
16 |
3 |
|
84% |
| src / local_deep_research / security / url_validator.py |
get_javascript_url_validator |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / security / url_validator.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / base.py |
ISettingsManager.get_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.set_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.get_all_settings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.create_or_update_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.delete_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.load_from_defaults_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
ISettingsManager.import_settings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / base.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / __init__.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / bootstrap.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / db_config.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / news_scheduler.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / security.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_definitions / testing.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
_create_registry |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
get_env_setting |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
is_test_mode |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
use_fallback_llm |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
is_ci_environment |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_registry.py |
is_github_actions |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / env_registry.py |
is_rate_limiting_enabled |
|
75% |
8 |
2 |
0 |
|
50% |
2 |
1 |
|
70% |
| src / local_deep_research / settings / env_registry.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting.get_value |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting._convert_value |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting._get_raw_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting.is_set |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnvSetting.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / env_settings.py |
BooleanSetting.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
BooleanSetting._convert_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
StringSetting.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
StringSetting._convert_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
IntegerSetting.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
IntegerSetting._convert_value |
|
75% |
12 |
3 |
0 |
|
50% |
6 |
3 |
|
67% |
| src / local_deep_research / settings / env_settings.py |
PathSetting.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
PathSetting.get_value |
|
71% |
14 |
4 |
0 |
|
50% |
6 |
1 |
|
65% |
| src / local_deep_research / settings / env_settings.py |
SecretSetting.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SecretSetting.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / env_settings.py |
SecretSetting.__str__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
EnumSetting.__init__ |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / settings / env_settings.py |
EnumSetting._convert_value |
|
50% |
8 |
4 |
0 |
|
33% |
6 |
2 |
|
43% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.register_category |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get |
|
62% |
8 |
3 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_setting_object |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.is_env_only |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_env_var |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_all_env_vars |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_category_settings |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_bootstrap_vars |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.get_testing_vars |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
SettingsRegistry.list_all_settings |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / env_settings.py |
(no function) |
|
100% |
47 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / logger.py |
log_settings |
|
21% |
14 |
11 |
0 |
|
10% |
10 |
1 |
|
17% |
| src / local_deep_research / settings / logger.py |
redact_sensitive_keys |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / settings / logger.py |
create_settings_summary |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / settings / logger.py |
get_settings_log_level |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / logger.py |
(no function) |
|
59% |
17 |
7 |
0 |
|
12% |
8 |
1 |
|
44% |
| src / local_deep_research / settings / manager.py |
parse_boolean |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
_parse_number |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
get_typed_setting_value |
|
70% |
20 |
6 |
0 |
|
90% |
10 |
1 |
|
77% |
| src / local_deep_research / settings / manager.py |
check_env_setting |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager._ensure_settings_initialized |
|
50% |
6 |
3 |
0 |
|
50% |
2 |
1 |
|
50% |
| src / local_deep_research / settings / manager.py |
SettingsManager._check_thread_safety |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / settings / manager.py |
SettingsManager.settings_locked |
|
62% |
8 |
3 |
0 |
|
75% |
4 |
1 |
|
67% |
| src / local_deep_research / settings / manager.py |
SettingsManager.default_settings |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.__get_typed_setting_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.__query_settings |
|
100% |
12 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_setting |
|
88% |
16 |
2 |
0 |
|
100% |
8 |
0 |
|
92% |
| src / local_deep_research / settings / manager.py |
SettingsManager.set_setting |
|
0% |
34 |
34 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.clear_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_all_settings |
|
78% |
18 |
4 |
0 |
|
80% |
10 |
2 |
|
79% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_settings_snapshot |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / settings / manager.py |
SettingsManager.create_or_update_setting |
|
39% |
46 |
28 |
0 |
|
45% |
20 |
9 |
|
41% |
| src / local_deep_research / settings / manager.py |
SettingsManager.delete_setting |
|
50% |
12 |
6 |
0 |
|
50% |
4 |
2 |
|
50% |
| src / local_deep_research / settings / manager.py |
SettingsManager.load_from_defaults_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.db_version_matches_package |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.update_db_version |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.import_settings |
|
0% |
19 |
19 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager._create_setting |
|
0% |
22 |
22 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager._emit_settings_changed |
|
72% |
18 |
5 |
0 |
|
67% |
6 |
2 |
|
71% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_bootstrap_env_vars |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.is_bootstrap_env_var |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.is_env_only_setting |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_env_var_for_setting |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
SettingsManager.get_setting_key_for_env_var |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / settings / manager.py |
(no function) |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / __init__.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / base.py |
ReportStorage.save_report |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
ReportStorage.get_report |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
ReportStorage.get_report_with_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
ReportStorage.delete_report |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
ReportStorage.report_exists |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / base.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.save_report |
|
100% |
17 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.get_report |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.get_report_with_metadata |
|
62% |
8 |
3 |
0 |
|
100% |
2 |
0 |
|
70% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.delete_report |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
DatabaseReportStorage.report_exists |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.save_report |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.get_report |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.delete_report |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.list_reports |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.get_report_with_metadata |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
DatabaseWithFileBackupStorage.report_exists |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / database_with_file_backup.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
get_report_storage |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
get_request_report_storage |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
set_request_report_storage |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
clear_request_report_storage |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / factory.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage._get_report_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage._get_metadata_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage.save_report |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage.get_report |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage.get_report_with_metadata |
|
79% |
14 |
3 |
0 |
|
100% |
4 |
0 |
|
83% |
| src / local_deep_research / storage / file.py |
FileReportStorage.delete_report |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
FileReportStorage.report_exists |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / storage / file.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._create_source_word_replacer |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._create_source_word_replacer.replace_source_word |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._create_citation_formatter |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._create_citation_formatter.formatter |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter.format_document |
|
94% |
18 |
1 |
0 |
|
92% |
12 |
1 |
|
93% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._find_sources_section |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._parse_sources |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_number_hyperlinks |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_number_hyperlinks.replace_comma_citations |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_number_hyperlinks.format_number_link |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_number_hyperlinks.replace_citation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_hyperlinks |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_hyperlinks.replace_comma_citations |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_hyperlinks.format_domain_link |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_hyperlinks.replace_citation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_hyperlinks |
|
100% |
21 |
0 |
0 |
|
92% |
12 |
1 |
|
97% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_hyperlinks.replace_comma_citations |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_hyperlinks.format_domain_id_link |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_hyperlinks.replace_citation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_always_hyperlinks |
|
100% |
18 |
0 |
0 |
|
90% |
10 |
1 |
|
96% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_always_hyperlinks.replace_comma_citations |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_always_hyperlinks.format_domain_id_link |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._format_domain_id_always_hyperlinks.replace_citation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._to_superscript |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / text_optimization / citation_formatter.py |
CitationFormatter._extract_domain |
|
87% |
15 |
2 |
0 |
|
100% |
8 |
0 |
|
91% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter.export_to_quarto |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter.export_to_quarto.replace_comma_citations |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter.export_to_quarto.replace_citation |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
QuartoExporter._generate_bibliography |
|
100% |
17 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
RISExporter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
RISExporter.export_to_ris |
|
98% |
47 |
1 |
0 |
|
86% |
28 |
4 |
|
93% |
| src / local_deep_research / text_optimization / citation_formatter.py |
RISExporter._create_ris_entry |
|
91% |
66 |
6 |
0 |
|
87% |
30 |
4 |
|
90% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter.export_to_latex |
|
100% |
26 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter._create_latex_header |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter._create_latex_footer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter._escape_latex |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter._convert_lists |
|
94% |
17 |
1 |
0 |
|
90% |
10 |
1 |
|
93% |
| src / local_deep_research / text_optimization / citation_formatter.py |
LaTeXExporter._create_bibliography |
|
100% |
18 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / text_optimization / citation_formatter.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_processing / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / text_processing / text_cleaner.py |
remove_surrogates |
|
57% |
7 |
3 |
0 |
|
100% |
2 |
0 |
|
67% |
| src / local_deep_research / text_processing / text_cleaner.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
get_db_session |
|
86% |
22 |
3 |
0 |
|
75% |
12 |
1 |
|
82% |
| src / local_deep_research / utilities / db_utils.py |
get_settings_manager |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
no_db_settings |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
no_db_settings.wrapper |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / db_utils.py |
get_setting_from_db_main_thread |
|
81% |
21 |
4 |
0 |
|
83% |
6 |
1 |
|
81% |
| src / local_deep_research / utilities / db_utils.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / enums.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.__init__ |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.create_index |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.delete_index |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.index_document |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.bulk_index_documents |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.index_file |
|
45% |
22 |
12 |
0 |
|
0% |
4 |
0 |
|
38% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.index_directory |
|
83% |
18 |
3 |
0 |
|
100% |
6 |
0 |
|
88% |
| src / local_deep_research / utilities / es_utils.py |
ElasticsearchManager.search |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / es_utils.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / llm_utils.py |
get_ollama_base_url |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / llm_utils.py |
get_server_url |
|
100% |
19 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / utilities / llm_utils.py |
fetch_ollama_models |
|
100% |
17 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / utilities / llm_utils.py |
get_model |
|
67% |
63 |
21 |
0 |
|
95% |
20 |
1 |
|
73% |
| src / local_deep_research / utilities / llm_utils.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
InterceptHandler.emit |
|
100% |
14 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / utilities / log_utils.py |
log_for_research |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
log_for_research.wrapped |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
_get_research_id |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
_process_log_queue |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / utilities / log_utils.py |
_write_log_to_database |
|
100% |
10 |
0 |
0 |
|
50% |
2 |
1 |
|
92% |
| src / local_deep_research / utilities / log_utils.py |
database_sink |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
frontend_progress_sink |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
flush_log_queue |
|
67% |
12 |
4 |
0 |
|
100% |
4 |
0 |
|
75% |
| src / local_deep_research / utilities / log_utils.py |
config_logger |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / log_utils.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.__init__ |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache._init_db |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache._normalize_query |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache._get_query_hash |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache._cleanup_expired |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache._evict_lru_memory |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.get |
|
59% |
27 |
11 |
0 |
|
83% |
6 |
1 |
|
64% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.put |
|
88% |
26 |
3 |
0 |
|
100% |
4 |
0 |
|
90% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.get_or_fetch |
|
93% |
57 |
4 |
0 |
|
70% |
20 |
6 |
|
87% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.invalidate |
|
75% |
12 |
3 |
0 |
|
100% |
0 |
0 |
|
75% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.clear_all |
|
73% |
11 |
3 |
0 |
|
100% |
0 |
0 |
|
73% |
| src / local_deep_research / utilities / search_cache.py |
SearchCache.get_stats |
|
75% |
12 |
3 |
0 |
|
100% |
0 |
0 |
|
75% |
| src / local_deep_research / utilities / search_cache.py |
get_search_cache |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
normalize_entity_query |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_cache.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_utilities.py |
remove_think_tags |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / search_utilities.py |
extract_links_from_search_results |
|
100% |
17 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / utilities / search_utilities.py |
format_links_to_markdown |
|
100% |
26 |
0 |
0 |
|
94% |
16 |
1 |
|
98% |
| src / local_deep_research / utilities / search_utilities.py |
format_findings |
|
90% |
77 |
8 |
0 |
|
91% |
32 |
3 |
|
90% |
| src / local_deep_research / utilities / search_utilities.py |
print_search_results |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / search_utilities.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / setup_utils.py |
setup_user_directories |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / utilities / setup_utils.py |
(no function) |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / utilities / thread_context.py |
set_search_context |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / thread_context.py |
get_search_context |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / thread_context.py |
_get_search_tracker_if_needed |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / utilities / thread_context.py |
preserve_research_context |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / thread_context.py |
preserve_research_context.wrapper |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / thread_context.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
thread_specific_cache |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
thread_specific_cache._key_func |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
thread_with_app_context |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
thread_with_app_context._run_with_context |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
thread_context |
|
100% |
15 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / utilities / threading_utils.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / utilities / url_utils.py |
normalize_url |
|
100% |
16 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / utilities / url_utils.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
api_access_control |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
api_access_control.decorated_function |
|
91% |
22 |
2 |
0 |
|
67% |
12 |
4 |
|
82% |
| src / local_deep_research / web / api.py |
api_documentation |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
health_check |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / api.py |
api_quick_summary_test |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / api.py |
_serialize_results |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / api.py |
api_quick_summary |
|
53% |
53 |
25 |
0 |
|
33% |
12 |
2 |
|
49% |
| src / local_deep_research / web / api.py |
api_generate_report |
|
14% |
22 |
19 |
0 |
|
25% |
4 |
1 |
|
15% |
| src / local_deep_research / web / api.py |
api_analyze_documents |
|
25% |
12 |
9 |
0 |
|
50% |
2 |
1 |
|
29% |
| src / local_deep_research / web / api.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app.py |
main |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / app.py |
main.flush_logs_on_exit |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / app.py |
main.shutdown_scheduler |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / app.py |
(no function) |
|
89% |
9 |
1 |
0 |
|
50% |
2 |
1 |
|
82% |
| src / local_deep_research / web / app_factory.py |
_is_private_ip |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / web / app_factory.py |
create_app |
|
85% |
123 |
18 |
0 |
|
60% |
10 |
4 |
|
83% |
| src / local_deep_research / web / app_factory.py |
create_app.SecureCookieMiddleware.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
create_app.SecureCookieMiddleware.__call__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
create_app.SecureCookieMiddleware.__call__.custom_start_response |
|
100% |
9 |
0 |
0 |
|
88% |
8 |
1 |
|
94% |
| src / local_deep_research / web / app_factory.py |
create_app.SecureCookieMiddleware._should_add_secure_flag |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
create_app.ratelimit_handler |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
create_app.disable_csrf_for_api |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
apply_middleware |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
apply_middleware.cleanup_db_session |
|
75% |
8 |
2 |
0 |
|
100% |
4 |
0 |
|
83% |
| src / local_deep_research / web / app_factory.py |
apply_middleware.handle_websocket_requests |
|
14% |
7 |
6 |
0 |
|
25% |
4 |
1 |
|
18% |
| src / local_deep_research / web / app_factory.py |
register_blueprints |
|
100% |
63 |
0 |
0 |
|
83% |
6 |
1 |
|
99% |
| src / local_deep_research / web / app_factory.py |
register_blueprints.index |
|
100% |
14 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / web / app_factory.py |
register_blueprints.favicon |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
register_blueprints.app_serve_static |
|
62% |
16 |
6 |
0 |
|
50% |
4 |
2 |
|
60% |
| src / local_deep_research / web / app_factory.py |
register_error_handlers |
|
75% |
16 |
4 |
0 |
|
100% |
0 |
0 |
|
75% |
| src / local_deep_research / web / app_factory.py |
register_error_handlers.not_found |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / app_factory.py |
register_error_handlers.server_error |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / app_factory.py |
register_error_handlers.handle_csrf_error |
|
75% |
8 |
2 |
0 |
|
50% |
2 |
1 |
|
70% |
| src / local_deep_research / web / app_factory.py |
register_error_handlers.handle_news_api_exception |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / app_factory.py |
create_database |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / app_factory.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / cleanup_middleware.py |
cleanup_completed_research |
|
57% |
28 |
12 |
0 |
|
100% |
10 |
0 |
|
68% |
| src / local_deep_research / web / auth / cleanup_middleware.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / database_middleware.py |
ensure_user_database |
|
89% |
35 |
4 |
0 |
|
75% |
24 |
6 |
|
83% |
| src / local_deep_research / web / auth / database_middleware.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / decorators.py |
login_required |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / decorators.py |
login_required.decorated_function |
|
100% |
13 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / auth / decorators.py |
current_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / decorators.py |
get_current_db_session |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / auth / decorators.py |
inject_current_user |
|
75% |
16 |
4 |
0 |
|
75% |
8 |
2 |
|
75% |
| src / local_deep_research / web / auth / decorators.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
should_skip_database_middleware |
|
83% |
12 |
2 |
0 |
|
80% |
10 |
2 |
|
82% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
should_skip_queue_checks |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
should_skip_session_cleanup |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / auth / middleware_optimizer.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / queue_middleware.py |
process_pending_queue_operations |
|
86% |
14 |
2 |
0 |
|
75% |
8 |
2 |
|
82% |
| src / local_deep_research / web / auth / queue_middleware.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / queue_middleware_v2.py |
notify_queue_processor |
|
73% |
15 |
4 |
0 |
|
75% |
8 |
2 |
|
74% |
| src / local_deep_research / web / auth / queue_middleware_v2.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
get_csrf_token |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
login_page |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
login |
|
77% |
79 |
18 |
0 |
|
50% |
26 |
7 |
|
70% |
| src / local_deep_research / web / auth / routes.py |
register_page |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
register |
|
91% |
68 |
6 |
0 |
|
88% |
26 |
3 |
|
90% |
| src / local_deep_research / web / auth / routes.py |
logout |
|
100% |
12 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / web / auth / routes.py |
check_auth |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / auth / routes.py |
change_password |
|
61% |
31 |
12 |
0 |
|
45% |
20 |
9 |
|
55% |
| src / local_deep_research / web / auth / routes.py |
integrity_check |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| src / local_deep_research / web / auth / routes.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_cleanup.py |
cleanup_stale_sessions |
|
27% |
15 |
11 |
0 |
|
30% |
10 |
1 |
|
28% |
| src / local_deep_research / web / auth / session_cleanup.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.create_session |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.validate_session |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.destroy_session |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.cleanup_expired_sessions |
|
100% |
10 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.get_active_sessions_count |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
SessionManager.get_user_sessions |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / auth / session_manager.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / models / database.py |
get_db_connection |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / models / database.py |
calculate_duration |
|
29% |
49 |
35 |
0 |
|
50% |
10 |
5 |
|
32% |
| src / local_deep_research / web / models / database.py |
get_logs_for_research |
|
55% |
11 |
5 |
0 |
|
50% |
2 |
1 |
|
54% |
| src / local_deep_research / web / models / database.py |
get_total_logs_for_research |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / models / database.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
50% |
2 |
1 |
|
94% |
| src / local_deep_research / web / models / settings.py |
LLMSetting.validate_llm_key |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / models / settings.py |
SearchSetting.validate_search_key |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / models / settings.py |
ReportSetting.validate_report_key |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / models / settings.py |
AppSetting.validate_app_key |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / web / models / settings.py |
(no function) |
|
100% |
45 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / manager.py |
QueueManager.add_to_queue |
|
0% |
22 |
22 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / queue / manager.py |
QueueManager.get_queue_position |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / queue / manager.py |
QueueManager.remove_from_queue |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / queue / manager.py |
QueueManager.get_user_queue |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / queue / manager.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.__init__ |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.start |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.stop |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.notify_user_activity |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.notify_research_queued |
|
0% |
31 |
31 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2._start_research_directly |
|
0% |
38 |
38 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.notify_research_completed |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.notify_research_failed |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2._process_queue_loop |
|
79% |
19 |
4 |
0 |
|
88% |
8 |
1 |
|
81% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2._process_user_queue |
|
74% |
27 |
7 |
0 |
|
62% |
8 |
3 |
|
71% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2._start_queued_researches |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2._start_research |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.process_user_request |
|
69% |
16 |
5 |
0 |
|
50% |
6 |
3 |
|
64% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.queue_progress_update |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.queue_error_update |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / queue / processor_v2.py |
QueueProcessorV2.process_pending_operations_for_user |
|
82% |
38 |
7 |
0 |
|
78% |
18 |
4 |
|
80% |
| src / local_deep_research / web / queue / processor_v2.py |
(no function) |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / api_routes.py |
get_current_config |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / routes / api_routes.py |
api_start_research |
|
95% |
19 |
1 |
0 |
|
100% |
2 |
0 |
|
95% |
| src / local_deep_research / web / routes / api_routes.py |
api_research_status |
|
70% |
10 |
3 |
0 |
|
100% |
2 |
0 |
|
75% |
| src / local_deep_research / web / routes / api_routes.py |
api_terminate_research |
|
70% |
10 |
3 |
0 |
|
100% |
2 |
0 |
|
75% |
| src / local_deep_research / web / routes / api_routes.py |
api_get_resources |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web / routes / api_routes.py |
api_add_resource |
|
72% |
18 |
5 |
0 |
|
75% |
4 |
1 |
|
73% |
| src / local_deep_research / web / routes / api_routes.py |
api_delete_resource |
|
62% |
8 |
3 |
0 |
|
100% |
2 |
0 |
|
70% |
| src / local_deep_research / web / routes / api_routes.py |
check_ollama_status |
|
62% |
34 |
13 |
0 |
|
67% |
6 |
2 |
|
62% |
| src / local_deep_research / web / routes / api_routes.py |
check_ollama_model |
|
71% |
51 |
15 |
0 |
|
67% |
12 |
4 |
|
70% |
| src / local_deep_research / web / routes / api_routes.py |
api_get_config |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / api_routes.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / context_overflow_api.py |
get_context_overflow_metrics |
|
0% |
57 |
57 |
0 |
|
0% |
28 |
0 |
|
0% |
| src / local_deep_research / web / routes / context_overflow_api.py |
get_research_context_overflow |
|
0% |
30 |
30 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web / routes / context_overflow_api.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / globals.py |
get_globals |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / globals.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / history_routes.py |
history_page |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / history_routes.py |
get_history |
|
25% |
52 |
39 |
0 |
|
20% |
10 |
2 |
|
24% |
| src / local_deep_research / web / routes / history_routes.py |
get_research_status |
|
48% |
25 |
13 |
0 |
|
38% |
8 |
3 |
|
45% |
| src / local_deep_research / web / routes / history_routes.py |
get_research_details |
|
77% |
31 |
7 |
0 |
|
50% |
6 |
3 |
|
73% |
| src / local_deep_research / web / routes / history_routes.py |
get_report |
|
0% |
19 |
19 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / routes / history_routes.py |
get_markdown |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / routes / history_routes.py |
get_research_logs |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / routes / history_routes.py |
get_log_count |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / history_routes.py |
(no function) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
get_rating_analytics |
|
52% |
25 |
12 |
0 |
|
40% |
10 |
4 |
|
49% |
| src / local_deep_research / web / routes / metrics_routes.py |
get_link_analytics |
|
91% |
82 |
7 |
0 |
|
64% |
36 |
13 |
|
83% |
| src / local_deep_research / web / routes / metrics_routes.py |
get_available_strategies |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
get_strategy_analytics |
|
31% |
32 |
22 |
0 |
|
25% |
12 |
3 |
|
30% |
| src / local_deep_research / web / routes / metrics_routes.py |
get_rate_limiting_analytics |
|
55% |
62 |
28 |
0 |
|
35% |
26 |
9 |
|
49% |
| src / local_deep_research / web / routes / metrics_routes.py |
metrics_dashboard |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
context_overflow_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_metrics |
|
89% |
35 |
4 |
0 |
|
50% |
4 |
2 |
|
85% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_rate_limiting_metrics |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_current_rate_limits |
|
55% |
11 |
5 |
0 |
|
50% |
2 |
1 |
|
54% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_research_link_metrics |
|
0% |
33 |
33 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_research_metrics |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_research_timeline_metrics |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_research_search_metrics |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_enhanced_metrics |
|
80% |
15 |
3 |
0 |
|
100% |
0 |
0 |
|
80% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_get_research_rating |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_save_research_rating |
|
0% |
20 |
20 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
star_reviews |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
cost_analytics |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_star_reviews |
|
88% |
34 |
4 |
0 |
|
50% |
14 |
7 |
|
77% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_pricing |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_model_pricing |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_cost_calculation |
|
76% |
17 |
4 |
0 |
|
75% |
4 |
1 |
|
76% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_research_costs |
|
0% |
25 |
25 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_cost_analytics |
|
25% |
48 |
36 |
0 |
|
15% |
20 |
3 |
|
22% |
| src / local_deep_research / web / routes / metrics_routes.py |
link_analytics |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_link_analytics |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_get_domain_classifications |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_get_classifications_summary |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_classify_domains |
|
0% |
28 |
28 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
api_classification_progress |
|
0% |
27 |
27 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web / routes / metrics_routes.py |
(no function) |
|
100% |
97 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / news_routes.py |
handle_news_api_exception |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
get_news_feed |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
debug_research_items |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
get_subscriptions |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
create_subscription |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
get_subscription |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
update_subscription |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
delete_subscription |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
get_subscription_history |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
submit_feedback |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
research_news_item |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
save_preferences |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
get_categories |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / news_routes.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / research_routes.py |
redirect_static |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
progress_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
research_details_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
results_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
history_page |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / research_routes.py |
settings_page |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / research_routes.py |
main_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
collections_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
api_keys_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
search_engines_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
llm_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
start_research |
|
58% |
212 |
89 |
0 |
|
50% |
70 |
21 |
|
56% |
| src / local_deep_research / web / routes / research_routes.py |
terminate_research |
|
66% |
44 |
15 |
0 |
|
50% |
12 |
6 |
|
62% |
| src / local_deep_research / web / routes / research_routes.py |
delete_research |
|
0% |
23 |
23 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
clear_history |
|
0% |
22 |
22 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
open_file_location |
|
0% |
26 |
26 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
save_raw_config |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
get_history |
|
35% |
23 |
15 |
0 |
|
25% |
8 |
2 |
|
32% |
| src / local_deep_research / web / routes / research_routes.py |
get_research_details |
|
58% |
12 |
5 |
0 |
|
50% |
4 |
2 |
|
56% |
| src / local_deep_research / web / routes / research_routes.py |
get_research_logs |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
get_research_report |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
export_research_report |
|
0% |
31 |
31 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
get_research_status |
|
42% |
53 |
31 |
0 |
|
25% |
24 |
6 |
|
36% |
| src / local_deep_research / web / routes / research_routes.py |
get_queue_status |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
get_queue_position |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
get_upload_limits |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / research_routes.py |
upload_pdf |
|
61% |
49 |
19 |
0 |
|
60% |
20 |
6 |
|
61% |
| src / local_deep_research / web / routes / research_routes.py |
(no function) |
|
100% |
104 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / settings_routes.py |
_get_setting_from_session |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / web / routes / settings_routes.py |
calculate_warnings |
|
83% |
23 |
4 |
0 |
|
50% |
8 |
4 |
|
74% |
| src / local_deep_research / web / routes / settings_routes.py |
validate_setting |
|
0% |
18 |
18 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
settings_page |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / settings_routes.py |
save_all_settings |
|
0% |
122 |
122 |
0 |
|
0% |
76 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
reset_to_defaults |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
save_settings |
|
0% |
37 |
37 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_all_settings |
|
44% |
18 |
10 |
0 |
|
17% |
6 |
1 |
|
38% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_db_setting |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| src / local_deep_research / web / routes / settings_routes.py |
api_update_setting |
|
48% |
40 |
21 |
0 |
|
44% |
18 |
4 |
|
47% |
| src / local_deep_research / web / routes / settings_routes.py |
api_delete_setting |
|
71% |
14 |
4 |
0 |
|
75% |
4 |
1 |
|
72% |
| src / local_deep_research / web / routes / settings_routes.py |
api_import_settings |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_categories |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_types |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_ui_elements |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_available_models |
|
47% |
175 |
93 |
0 |
|
37% |
54 |
8 |
|
45% |
| src / local_deep_research / web / routes / settings_routes.py |
_get_engine_icon_and_category |
|
73% |
22 |
6 |
0 |
|
83% |
12 |
2 |
|
76% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_available_search_engines |
|
82% |
34 |
6 |
0 |
|
70% |
10 |
3 |
|
80% |
| src / local_deep_research / web / routes / settings_routes.py |
main_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
collections_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
api_keys_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
search_engines_config_page |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
open_file_location |
|
0% |
24 |
24 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
inject_csrf_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / routes / settings_routes.py |
fix_corrupted_settings |
|
0% |
113 |
113 |
0 |
|
0% |
86 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_warnings |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web / routes / settings_routes.py |
check_ollama_status |
|
70% |
10 |
3 |
0 |
|
0% |
2 |
0 |
|
58% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_rate_limiting_status |
|
62% |
13 |
5 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / web / routes / settings_routes.py |
api_reset_engine_rate_limiting |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| src / local_deep_research / web / routes / settings_routes.py |
api_cleanup_rate_limiting |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / routes / settings_routes.py |
get_bulk_settings |
|
62% |
16 |
6 |
0 |
|
75% |
4 |
1 |
|
65% |
| src / local_deep_research / web / routes / settings_routes.py |
api_get_data_location |
|
78% |
18 |
4 |
0 |
|
50% |
2 |
1 |
|
75% |
| src / local_deep_research / web / routes / settings_routes.py |
api_test_notification_url |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / routes / settings_routes.py |
(no function) |
|
100% |
114 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / server_config.py |
get_server_config_path |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / server_config.py |
load_server_config |
|
45% |
11 |
6 |
0 |
|
50% |
2 |
1 |
|
46% |
| src / local_deep_research / web / server_config.py |
save_server_config |
|
75% |
8 |
2 |
0 |
|
100% |
0 |
0 |
|
75% |
| src / local_deep_research / web / server_config.py |
sync_from_settings |
|
100% |
18 |
0 |
0 |
|
50% |
16 |
8 |
|
76% |
| src / local_deep_research / web / server_config.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
PDFExtractionService.extract_text_and_metadata |
|
100% |
18 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
PDFExtractionService.extract_batch |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
get_pdf_extraction_service |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_extraction_service.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
PDFService.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
PDFService.markdown_to_pdf |
|
100% |
16 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
PDFService._markdown_to_html |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
get_pdf_service |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / pdf_service.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / research_service.py |
get_citation_formatter |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / research_service.py |
export_report_to_memory |
|
60% |
47 |
19 |
0 |
|
50% |
14 |
3 |
|
57% |
| src / local_deep_research / web / services / research_service.py |
save_research_strategy |
|
75% |
16 |
4 |
0 |
|
50% |
2 |
1 |
|
72% |
| src / local_deep_research / web / services / research_service.py |
get_research_strategy |
|
67% |
9 |
3 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web / services / research_service.py |
start_research_process |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / research_service.py |
_generate_report_path |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / research_service.py |
run_research_process |
|
41% |
420 |
248 |
0 |
|
29% |
116 |
26 |
|
38% |
| src / local_deep_research / web / services / research_service.py |
run_research_process.SettingsContext.__init__ |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / web / services / research_service.py |
run_research_process.SettingsContext.get_setting |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / research_service.py |
run_research_process.progress_callback |
|
65% |
49 |
17 |
0 |
|
70% |
30 |
7 |
|
67% |
| src / local_deep_research / web / services / research_service.py |
run_research_process.check_termination |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web / services / research_service.py |
cleanup_research_resources |
|
64% |
28 |
10 |
0 |
|
67% |
12 |
2 |
|
65% |
| src / local_deep_research / web / services / research_service.py |
handle_termination |
|
80% |
10 |
2 |
0 |
|
100% |
0 |
0 |
|
80% |
| src / local_deep_research / web / services / research_service.py |
cancel_research |
|
26% |
34 |
25 |
0 |
|
10% |
10 |
1 |
|
23% |
| src / local_deep_research / web / services / research_service.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / research_sources_service.py |
ResearchSourcesService.save_research_sources |
|
81% |
31 |
6 |
0 |
|
90% |
10 |
1 |
|
83% |
| src / local_deep_research / web / services / research_sources_service.py |
ResearchSourcesService.get_research_sources |
|
73% |
11 |
3 |
0 |
|
100% |
2 |
0 |
|
77% |
| src / local_deep_research / web / services / research_sources_service.py |
ResearchSourcesService.copy_sources_to_new_research |
|
83% |
18 |
3 |
0 |
|
100% |
6 |
0 |
|
88% |
| src / local_deep_research / web / services / research_sources_service.py |
ResearchSourcesService.update_research_with_sources |
|
100% |
17 |
0 |
0 |
|
75% |
4 |
1 |
|
95% |
| src / local_deep_research / web / services / research_sources_service.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
get_resources_for_research |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
add_resource |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
delete_resource |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
update_resource_content |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / resource_service.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
check_env_setting |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager._check_thread_safety |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.settings_locked |
|
62% |
8 |
3 |
0 |
|
75% |
4 |
1 |
|
67% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.default_settings |
|
75% |
24 |
6 |
0 |
|
100% |
4 |
0 |
|
79% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.__get_typed_setting_value |
|
88% |
16 |
2 |
0 |
|
83% |
6 |
1 |
|
86% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.__query_settings |
|
50% |
12 |
6 |
0 |
|
38% |
8 |
1 |
|
45% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.get_setting |
|
85% |
13 |
2 |
0 |
|
100% |
6 |
0 |
|
89% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.set_setting |
|
72% |
32 |
9 |
0 |
|
56% |
16 |
7 |
|
67% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.get_all_settings |
|
82% |
11 |
2 |
0 |
|
75% |
4 |
1 |
|
80% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.create_or_update_setting |
|
0% |
46 |
46 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.delete_setting |
|
42% |
12 |
7 |
0 |
|
50% |
4 |
2 |
|
44% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.load_from_defaults_file |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.db_version_matches_package |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.update_db_version |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager.import_settings |
|
84% |
19 |
3 |
0 |
|
79% |
14 |
3 |
|
82% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager._create_setting |
|
0% |
22 |
22 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_manager.py |
SettingsManager._emit_settings_changed |
|
89% |
18 |
2 |
0 |
|
83% |
6 |
1 |
|
88% |
| src / local_deep_research / web / services / settings_manager.py |
(no function) |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_service.py |
set_setting |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_service.py |
get_all_settings |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_service.py |
create_or_update_setting |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / settings_service.py |
bulk_update_settings |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_service.py |
validate_setting |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / settings_service.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__new__ |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton.on_connect |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton.on_disconnect |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton.on_subscribe |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton.on_error |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__init_singleton.on_default_error |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__log_info |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__log_error |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__log_exception |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.emit_socket_event |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.emit_to_subscribers |
|
100% |
18 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__handle_connect |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__handle_disconnect |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__handle_subscribe |
|
67% |
12 |
4 |
0 |
|
50% |
8 |
2 |
|
60% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__handle_socket_error |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.__handle_default_error |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
SocketIOService.run |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / services / socket_service.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / formatters.py |
convert_debug_to_markdown |
|
86% |
21 |
3 |
0 |
|
100% |
4 |
0 |
|
88% |
| src / local_deep_research / web / utils / formatters.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / rate_limiter.py |
get_client_ip |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| src / local_deep_research / web / utils / rate_limiter.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / templates.py |
render_template_with_defaults |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / templates.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper.__init__ |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper.init_app |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper._load_manifest |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper.vite_hmr |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper.vite_asset |
|
21% |
14 |
11 |
0 |
|
20% |
10 |
2 |
|
21% |
| src / local_deep_research / web / utils / vite_helper.py |
ViteHelper._fallback_assets |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web / utils / vite_helper.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / default_search_engines.py |
get_default_elasticsearch_config |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / default_search_engines.py |
get_default_search_engine_configs |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / default_search_engines.py |
(no function) |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.__init__ |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.check_urls |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.remove_boilerplate |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.run |
|
0% |
27 |
27 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.invoke |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
FullSearchResults.__call__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / full_search.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine.__init__ |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine._get_search_config |
|
0% |
20 |
20 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine._get_available_engines |
|
0% |
26 |
26 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine.analyze_query |
|
0% |
58 |
58 |
0 |
|
0% |
38 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine._get_previews |
|
0% |
37 |
37 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine._get_full_content |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine._get_engine_instance |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
MetaSearchEngine.invoke |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / meta_search_engine.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
_get_global_executor |
|
73% |
11 |
3 |
0 |
|
75% |
4 |
1 |
|
73% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
shutdown_global_executor |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine.__init__ |
|
100% |
16 |
0 |
0 |
|
50% |
2 |
1 |
|
94% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._check_api_key_availability |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_search_config |
|
36% |
14 |
9 |
0 |
|
33% |
12 |
2 |
|
35% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_available_engines |
|
12% |
32 |
28 |
0 |
|
5% |
22 |
1 |
|
9% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_available_generic_engines |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine.select_engines |
|
0% |
54 |
54 |
0 |
|
0% |
32 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_engine_instance |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._execute_single_engine |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_previews |
|
0% |
50 |
50 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine._get_full_content |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
ParallelSearchEngine.invoke |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / parallel_search_engine.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine.__init__ |
|
92% |
13 |
1 |
0 |
|
50% |
2 |
1 |
|
87% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine._get_search_results |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine._get_previews |
|
93% |
15 |
1 |
0 |
|
75% |
4 |
1 |
|
89% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine._get_full_content |
|
0% |
61 |
61 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine.run |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine.get_paper_details |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine.search_by_author |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
ArXivSearchEngine.search_by_category |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_arxiv.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
BraveSearchEngine.__init__ |
|
86% |
21 |
3 |
0 |
|
88% |
8 |
1 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
BraveSearchEngine._get_previews |
|
100% |
23 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
BraveSearchEngine._get_full_content |
|
31% |
29 |
20 |
0 |
|
33% |
18 |
4 |
|
32% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
BraveSearchEngine.run |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_brave.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
CollectionSearchEngine.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
CollectionSearchEngine._load_collection_embedding_settings |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
CollectionSearchEngine.search |
|
0% |
39 |
39 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
CollectionSearchEngine._get_document_url |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_collection.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
DuckDuckGoSearchEngine.__init__ |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
DuckDuckGoSearchEngine.run |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
DuckDuckGoSearchEngine._get_previews |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
DuckDuckGoSearchEngine._get_full_content |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_ddg.py |
(no function) |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine.__init__ |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine._get_previews |
|
88% |
26 |
3 |
0 |
|
100% |
10 |
0 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine._get_full_content |
|
71% |
24 |
7 |
0 |
|
80% |
10 |
2 |
|
74% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine.search_by_query_string |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine.search_by_dsl |
|
57% |
7 |
3 |
0 |
|
100% |
0 |
0 |
|
57% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
ElasticsearchSearchEngine._process_es_response |
|
25% |
16 |
12 |
0 |
|
12% |
8 |
1 |
|
21% |
| src / local_deep_research / web_search_engines / engines / search_engine_elasticsearch.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine.__init__ |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._handle_rate_limits |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._optimize_github_query |
|
0% |
23 |
23 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._search_github |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._get_readme_content |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._get_recent_issues |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._get_file_content |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._format_repository_preview |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._format_code_preview |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._format_issue_preview |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._format_user_preview |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._get_previews |
|
0% |
38 |
38 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._get_full_content |
|
0% |
40 |
40 |
0 |
|
0% |
24 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine.search_repository |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine.search_code |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine.search_issues |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine.set_search_type |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
GitHubSearchEngine._filter_for_relevance |
|
0% |
24 |
24 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_github.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine.__init__ |
|
81% |
31 |
6 |
0 |
|
100% |
8 |
0 |
|
85% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine._validate_connection |
|
50% |
10 |
5 |
0 |
|
50% |
2 |
1 |
|
50% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine._respect_rate_limit |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine._make_request |
|
68% |
34 |
11 |
0 |
|
60% |
10 |
2 |
|
66% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine._get_previews |
|
89% |
27 |
3 |
0 |
|
92% |
12 |
1 |
|
90% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
GooglePSESearchEngine._get_full_content |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_google_pse.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine.__init__ |
|
100% |
20 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._optimize_query_for_guardian |
|
25% |
24 |
18 |
0 |
|
30% |
10 |
1 |
|
26% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._adapt_dates_for_query_type |
|
32% |
25 |
17 |
0 |
|
38% |
8 |
1 |
|
33% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._adaptive_search |
|
15% |
34 |
29 |
0 |
|
8% |
12 |
1 |
|
13% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._get_all_data |
|
83% |
35 |
6 |
0 |
|
60% |
10 |
4 |
|
78% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._get_previews |
|
82% |
11 |
2 |
0 |
|
50% |
2 |
1 |
|
77% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine._get_full_content |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine.run |
|
40% |
42 |
25 |
0 |
|
23% |
22 |
5 |
|
34% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine.search_by_section |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
GuardianSearchEngine.get_recent_articles |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_guardian.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine.__init__ |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine.search |
|
0% |
73 |
73 |
0 |
|
0% |
26 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine._get_previews |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine._get_full_content |
|
0% |
24 |
24 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
LibraryRAGSearchEngine.close |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_library.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
_get_file_loader |
|
0% |
20 |
20 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
_load_document |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.__init__ |
|
100% |
17 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.embeddings |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._initialize_embeddings |
|
62% |
13 |
5 |
0 |
|
50% |
4 |
2 |
|
59% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._store_chunks_to_db |
|
0% |
29 |
29 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._load_chunks_from_db |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._delete_chunks_from_db |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._load_or_create_vector_store |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._load_indexed_folders |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._save_indexed_folders |
|
67% |
6 |
2 |
0 |
|
100% |
0 |
0 |
|
67% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.get_folder_hash |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._get_index_path |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._check_folder_modified |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._get_all_files |
|
67% |
3 |
1 |
0 |
|
75% |
4 |
1 |
|
71% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._get_modified_files |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager._check_config_changed |
|
27% |
11 |
8 |
0 |
|
25% |
4 |
1 |
|
27% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.index_folder |
|
57% |
76 |
33 |
0 |
|
43% |
28 |
12 |
|
53% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.search |
|
0% |
62 |
62 |
0 |
|
0% |
30 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.clear_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalEmbeddingManager.get_indexed_folders_info |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine.__init__ |
|
82% |
17 |
3 |
0 |
|
67% |
6 |
2 |
|
78% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine._index_folders |
|
71% |
17 |
5 |
0 |
|
58% |
12 |
5 |
|
66% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine._get_previews |
|
0% |
34 |
34 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine._get_full_content |
|
0% |
17 |
17 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine.run |
|
0% |
26 |
26 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine.get_collections_info |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine.reindex_collection |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
LocalSearchEngine.from_config |
|
90% |
20 |
2 |
0 |
|
38% |
8 |
3 |
|
75% |
| src / local_deep_research / web_search_engines / engines / search_engine_local.py |
(no function) |
|
100% |
61 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_local_all.py |
LocalAllSearchEngine.__init__ |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local_all.py |
LocalAllSearchEngine._get_previews |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local_all.py |
LocalAllSearchEngine._get_full_content |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_local_all.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
NasaAdsSearchEngine.__init__ |
|
91% |
22 |
2 |
0 |
|
100% |
6 |
0 |
|
93% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
NasaAdsSearchEngine._get_previews |
|
78% |
54 |
12 |
0 |
|
64% |
22 |
6 |
|
74% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
NasaAdsSearchEngine._format_doc_preview |
|
91% |
35 |
3 |
0 |
|
86% |
14 |
2 |
|
90% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
NasaAdsSearchEngine._get_full_content |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_nasa_ads.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine.__init__ |
|
90% |
21 |
2 |
0 |
|
100% |
6 |
0 |
|
93% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine._get_previews |
|
84% |
57 |
9 |
0 |
|
67% |
24 |
8 |
|
79% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine._format_work_preview |
|
83% |
48 |
8 |
0 |
|
64% |
22 |
4 |
|
77% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine._reconstruct_abstract |
|
73% |
11 |
3 |
0 |
|
100% |
4 |
0 |
|
80% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
OpenAlexSearchEngine._get_full_content |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_openalex.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine.__init__ |
|
100% |
18 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._make_request |
|
100% |
22 |
0 |
0 |
|
75% |
8 |
2 |
|
93% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._expand_query_with_llm |
|
89% |
18 |
2 |
0 |
|
75% |
4 |
1 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._multi_pass_search |
|
56% |
43 |
19 |
0 |
|
44% |
18 |
2 |
|
52% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._get_previews |
|
73% |
15 |
4 |
0 |
|
83% |
6 |
1 |
|
76% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._convert_document_to_preview |
|
90% |
98 |
10 |
0 |
|
75% |
36 |
9 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine._get_full_content |
|
84% |
31 |
5 |
0 |
|
83% |
12 |
2 |
|
84% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine.run |
|
73% |
15 |
4 |
0 |
|
83% |
6 |
1 |
|
76% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine.arun |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine.test_connection |
|
50% |
6 |
3 |
0 |
|
100% |
0 |
0 |
|
50% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
PaperlessSearchEngine.get_document_count |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| src / local_deep_research / web_search_engines / engines / search_engine_paperless.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine.__init__ |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_result_count |
|
93% |
14 |
1 |
0 |
|
50% |
2 |
1 |
|
88% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._extract_core_terms |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._expand_time_window |
|
0% |
18 |
18 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._optimize_query_for_pubmed |
|
0% |
49 |
49 |
0 |
|
0% |
24 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._simplify_query |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._is_historical_focused |
|
0% |
18 |
18 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._adaptive_search |
|
0% |
35 |
35 |
0 |
|
0% |
16 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._search_pubmed |
|
100% |
27 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_article_summaries |
|
0% |
40 |
40 |
0 |
|
0% |
18 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_article_abstracts |
|
0% |
50 |
50 |
0 |
|
0% |
26 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_article_detailed_metadata |
|
0% |
67 |
67 |
0 |
|
0% |
46 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._create_enriched_content |
|
0% |
43 |
43 |
0 |
|
0% |
36 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._find_pmc_ids |
|
0% |
25 |
25 |
0 |
|
0% |
14 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_pmc_full_text |
|
0% |
35 |
35 |
0 |
|
0% |
20 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_previews |
|
0% |
84 |
84 |
0 |
|
0% |
54 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine._get_full_content |
|
0% |
91 |
91 |
0 |
|
0% |
64 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine.search_by_author |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine.search_by_journal |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine.search_recent |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
PubMedSearchEngine.advanced_search |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_pubmed.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine.run |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine._convert_document_to_result |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine._get_previews |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine._get_full_content |
|
100% |
4 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
RetrieverSearchEngine.arun |
|
100% |
14 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_retriever.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
ScaleSerpSearchEngine.__init__ |
|
73% |
22 |
6 |
0 |
|
83% |
6 |
1 |
|
75% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
ScaleSerpSearchEngine._get_previews |
|
84% |
57 |
9 |
0 |
|
73% |
26 |
7 |
|
81% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
ScaleSerpSearchEngine._get_full_content |
|
34% |
32 |
21 |
0 |
|
35% |
20 |
5 |
|
35% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
ScaleSerpSearchEngine.run |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_scaleserp.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine._is_valid_search_result |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine.__init__ |
|
100% |
34 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine._respect_rate_limit |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine._get_search_results |
|
76% |
75 |
18 |
0 |
|
60% |
30 |
10 |
|
71% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine._get_previews |
|
100% |
16 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine._get_full_content |
|
75% |
12 |
3 |
0 |
|
75% |
4 |
1 |
|
75% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine.invoke |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine.results |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine.get_self_hosting_instructions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
SearXNGSearchEngine.run |
|
75% |
12 |
3 |
0 |
|
100% |
2 |
0 |
|
79% |
| src / local_deep_research / web_search_engines / engines / search_engine_searxng.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine.__init__ |
|
82% |
28 |
5 |
0 |
|
75% |
4 |
1 |
|
81% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._create_session |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._respect_rate_limit |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._make_request |
|
47% |
15 |
8 |
0 |
|
33% |
6 |
2 |
|
43% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._optimize_query |
|
12% |
17 |
15 |
0 |
|
25% |
4 |
1 |
|
14% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._direct_search |
|
59% |
22 |
9 |
0 |
|
50% |
10 |
5 |
|
56% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._adaptive_search |
|
8% |
48 |
44 |
0 |
|
4% |
26 |
1 |
|
7% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._get_paper_details |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._get_previews |
|
88% |
33 |
4 |
0 |
|
80% |
10 |
2 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
SemanticScholarSearchEngine._get_full_content |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_semantic_scholar.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
SerpAPISearchEngine.__init__ |
|
84% |
19 |
3 |
0 |
|
100% |
8 |
0 |
|
89% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
SerpAPISearchEngine._get_previews |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
SerpAPISearchEngine._get_full_content |
|
38% |
29 |
18 |
0 |
|
44% |
18 |
4 |
|
40% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
SerpAPISearchEngine.run |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_serpapi.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
SerperSearchEngine.__init__ |
|
71% |
21 |
6 |
0 |
|
83% |
6 |
1 |
|
74% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
SerperSearchEngine._get_previews |
|
89% |
55 |
6 |
0 |
|
83% |
24 |
4 |
|
87% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
SerperSearchEngine._get_full_content |
|
62% |
32 |
12 |
0 |
|
65% |
20 |
7 |
|
63% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
SerperSearchEngine.run |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_serper.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine.__init__ |
|
87% |
23 |
3 |
0 |
|
100% |
6 |
0 |
|
90% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine.__init__.TavilyWrapper.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine.__init__.TavilyWrapper.run |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine._get_previews |
|
97% |
32 |
1 |
0 |
|
90% |
10 |
1 |
|
95% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine._get_full_content |
|
32% |
31 |
21 |
0 |
|
35% |
20 |
5 |
|
33% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
TavilySearchEngine.run |
|
100% |
5 |
0 |
0 |
|
50% |
2 |
1 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_tavily.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine.__init__ |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._extract_urls_from_query |
|
66% |
29 |
10 |
0 |
|
50% |
10 |
1 |
|
62% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._format_timestamp |
|
83% |
12 |
2 |
0 |
|
100% |
2 |
0 |
|
86% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._get_wayback_snapshots |
|
100% |
29 |
0 |
0 |
|
92% |
12 |
1 |
|
98% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._get_previews |
|
94% |
17 |
1 |
0 |
|
88% |
8 |
1 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._remove_boilerplate |
|
67% |
9 |
3 |
0 |
|
100% |
2 |
0 |
|
73% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._get_wayback_content |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine._get_full_content |
|
77% |
22 |
5 |
0 |
|
83% |
6 |
1 |
|
79% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine.search_by_url |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine.search_by_date_range |
|
94% |
18 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
WaybackSearchEngine.get_latest_snapshot |
|
65% |
17 |
6 |
0 |
|
75% |
4 |
1 |
|
67% |
| src / local_deep_research / web_search_engines / engines / search_engine_wayback.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine.__init__ |
|
85% |
13 |
2 |
0 |
|
50% |
2 |
1 |
|
80% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._optimize_query_for_wikinews |
|
96% |
23 |
1 |
0 |
|
88% |
8 |
1 |
|
94% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._adapt_date_range_for_query |
|
84% |
19 |
3 |
0 |
|
88% |
8 |
1 |
|
85% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._fetch_search_results |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._process_search_result |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._fetch_full_content_and_pubdate |
|
0% |
21 |
21 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._get_previews |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
WikinewsSearchEngine._get_full_content |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
_clean_wikinews_snippet |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikinews.py |
(no function) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine._get_previews |
|
100% |
41 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine._get_full_content |
|
93% |
29 |
2 |
0 |
|
83% |
6 |
1 |
|
91% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine.get_summary |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine.get_page |
|
95% |
19 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
WikipediaSearchEngine.set_language |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / engines / search_engine_wikipedia.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / __main__.py |
(no function) |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / exceptions.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / __init__.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / detection.py |
is_llm_rate_limit_error |
|
64% |
22 |
8 |
0 |
|
50% |
16 |
4 |
|
58% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / detection.py |
extract_retry_after |
|
78% |
18 |
4 |
0 |
|
88% |
8 |
1 |
|
81% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / detection.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
AdaptiveLLMWait.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
AdaptiveLLMWait.__call__ |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.__init__ |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper._should_rate_limit |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper._check_if_local_model |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper._get_rate_limit_key |
|
78% |
18 |
4 |
0 |
|
30% |
10 |
3 |
|
61% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.invoke |
|
15% |
13 |
11 |
0 |
|
25% |
4 |
1 |
|
18% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.invoke._invoke_with_retry |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper._do_invoke |
|
29% |
7 |
5 |
0 |
|
0% |
2 |
0 |
|
22% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.__getattr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
create_rate_limited_llm_wrapper.RateLimitedLLMWrapper.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / llm / wrapper.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
_get_db_imports |
|
75% |
8 |
2 |
0 |
|
100% |
2 |
0 |
|
80% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.__init__ |
|
100% |
17 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.__init__.get_setting_or_default |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker._apply_profile |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker._load_estimates |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker._ensure_estimates_loaded |
|
61% |
31 |
12 |
0 |
|
67% |
12 |
4 |
|
63% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.get_wait_time |
|
85% |
20 |
3 |
0 |
|
75% |
8 |
2 |
|
82% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.apply_rate_limit |
|
86% |
7 |
1 |
0 |
|
50% |
4 |
2 |
|
73% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.record_outcome |
|
77% |
13 |
3 |
0 |
|
67% |
6 |
2 |
|
74% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker._update_estimate |
|
65% |
54 |
19 |
0 |
|
67% |
18 |
4 |
|
65% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.get_stats |
|
43% |
23 |
13 |
0 |
|
30% |
10 |
3 |
|
39% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.reset_engine |
|
82% |
22 |
4 |
0 |
|
88% |
8 |
1 |
|
83% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.get_search_quality_stats |
|
33% |
12 |
8 |
0 |
|
17% |
6 |
1 |
|
28% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker._get_quality_status |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
AdaptiveRateLimitTracker.cleanup_old_data |
|
65% |
20 |
7 |
0 |
|
50% |
6 |
3 |
|
62% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
get_tracker |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / rate_limiting / tracker.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.register |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.register_multiple |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.get |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.unregister |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.clear |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.is_registered |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
RetrieverRegistry.list_registered |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / retriever_registry.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
AdaptiveWait.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
AdaptiveWait.__call__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._load_engine_class |
|
100% |
14 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._check_api_key_availability |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.__init__ |
|
100% |
23 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.max_filtered_results |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.max_filtered_results |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.max_results |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.max_results |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._get_adaptive_wait |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._record_retry_outcome |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.run |
|
69% |
32 |
10 |
0 |
|
100% |
6 |
0 |
|
74% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.run._run_with_retry |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.run._execute_search |
|
93% |
46 |
3 |
0 |
|
78% |
18 |
2 |
|
89% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine.invoke |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._filter_for_relevance |
|
90% |
69 |
7 |
0 |
|
88% |
24 |
3 |
|
89% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._get_previews |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
BaseSearchEngine._get_full_content |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / search_engine_base.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
create_search_engine |
|
70% |
121 |
36 |
0 |
|
58% |
74 |
17 |
|
66% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
_create_full_search_wrapper |
|
0% |
64 |
64 |
0 |
|
0% |
44 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
get_search |
|
73% |
26 |
7 |
0 |
|
56% |
16 |
7 |
|
67% |
| src / local_deep_research / web_search_engines / search_engine_factory.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
_get_setting |
|
69% |
13 |
4 |
0 |
|
100% |
4 |
0 |
|
76% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
_extract_per_engine_config |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
search_config |
|
83% |
52 |
9 |
0 |
|
73% |
22 |
6 |
|
80% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
default_search_engine |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
local_search_engines |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| src / local_deep_research / web_search_engines / search_engines_config.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |