local-deep-research 0.5.3__tar.gz → 0.5.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/PKG-INFO +1 -1
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/pyproject.toml +1 -1
- local_deep_research-0.5.5/src/local_deep_research/__version__.py +1 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/standard_question.py +1 -1
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/focused_iteration_strategy.py +1 -1
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/css/styles.css +78 -3
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/custom_dropdown.js +12 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/research.js +72 -25
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/keyboard.js +46 -5
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/research.html +17 -10
- local_deep_research-0.5.3/src/local_deep_research/__version__.py +0 -1
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/LICENSE +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/answer_decoding/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/answer_decoding/browsecomp_answer_decoder.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/adaptive_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/base_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/constraint_guided_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/diversity_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/parallel_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidate_exploration/progressive_explorer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidates/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/candidates/base_candidate.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/base_constraint_checker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/constraint_checker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/constraint_satisfaction_tracker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/dual_confidence_checker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/evidence_analyzer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/intelligent_constraint_relaxer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/rejection_engine.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/strict_checker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraint_checking/threshold_checker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraints/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraints/base_constraint.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/constraints/constraint_analyzer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/evidence/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/evidence/base_evidence.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/evidence/evaluator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/evidence/requirements.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/filters/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/filters/base_filter.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/filters/cross_engine_filter.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/filters/journal_reputation_filter.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/findings/base_findings.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/findings/repository.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/knowledge/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/knowledge/base_knowledge.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/knowledge/standard_knowledge.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/query_generation/adaptive_query_generator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/atomic_fact_question.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/base_question.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/browsecomp_question.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/decomposition_question.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/questions/entity_aware_question.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/repositories/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/search_optimization/cross_constraint_manager.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/source_management/diversity_manager.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/adaptive_decomposition_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/base_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/browsecomp_entity_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/browsecomp_optimized_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/concurrent_dual_confidence_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/constrained_search_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/constraint_parallel_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/direct_search_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/dual_confidence_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/dual_confidence_with_rejection.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/early_stop_constrained_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/entity_aware_source_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/evidence_based_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/evidence_based_strategy_v2.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/improved_evidence_based_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/iterative_reasoning_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/iterdrag_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/llm_driven_modular_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/modular_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/parallel_constrained_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/parallel_search_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/rapid_search_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/recursive_decomposition_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/smart_decomposition_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/smart_query_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/source_based_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/strategies/standard_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/tools/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/tools/base_tool.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/tools/knowledge_tools/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/tools/question_tools/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/advanced_search_system/tools/search_tools/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/api/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/api/benchmark_functions.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/api/research_functions.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/benchmark_functions.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/cli/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/cli/benchmark_commands.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/cli.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/comparison/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/comparison/evaluator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/base.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/browsecomp.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/custom_dataset_template.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/simpleqa.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets/utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/datasets.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/efficiency/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/efficiency/resource_monitor.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/efficiency/speed_profiler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/evaluators/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/evaluators/base.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/evaluators/browsecomp.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/evaluators/composite.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/evaluators/simpleqa.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/graders.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics/calculation.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics/reporting.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics/visualization.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/metrics.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/optimization/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/optimization/api.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/optimization/metrics.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/optimization/optuna_optimizer.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/runners.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/benchmarks/templates.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handlers/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handlers/base_citation_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handlers/forced_answer_citation_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handlers/precision_extraction_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/citation_handlers/standard_citation_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/config/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/config/llm_config.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/config/search_config.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/defaults/.env.template +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/defaults/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/defaults/default_settings.json +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/error_handling/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/error_handling/error_reporter.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/error_handling/report_generator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/database.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/db_models.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/migrate_add_provider_to_token_usage.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/migrate_call_stack_tracking.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/migrate_enhanced_tracking.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/migrate_research_ratings.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/models.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/pricing/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/pricing/cost_calculator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/pricing/pricing_cache.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/pricing/pricing_fetcher.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/query_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/search_tracker.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/metrics/token_counter.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/migrate_db.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/report_generator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/search_system.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/setup_data_dir.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/db_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/enums.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/es_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/llm_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/log_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/search_cache.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/search_utilities.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/setup_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/threading_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/utilities/url_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/api.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/app.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/app_factory.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/database/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/database/migrate_to_ldr_db.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/database/migrations.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/database/models.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/database/schema_upgrade.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/models/database.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/models/settings.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/api_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/benchmark_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/globals.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/history_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/metrics_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/research_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/routes/settings_routes.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/services/research_service.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/services/resource_service.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/services/settings_manager.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/services/settings_service.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/services/socket_service.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/css/custom_dropdown.css +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/css/settings.css +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/detail.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/details.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/fallback/formatting.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/fallback/ui.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/history.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/logpanel.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/progress.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/results.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/settings.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/components/settings_sync.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/main.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/research_form.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/api.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/audio.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/formatting.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/pdf.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/socket.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/js/services/ui.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/sounds/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/sounds/error.mp3 +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/static/sounds/success.mp3 +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/base.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/components/custom_dropdown.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/components/log_panel.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/components/mobile_nav.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/components/settings_form.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/components/sidebar.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/cost_analytics.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/details.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/history.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/metrics.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/progress.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/results.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/pages/star_reviews.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/templates/settings_dashboard.html +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/utils/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/utils/formatters.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web/utils/templates.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/default_search_engines.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/full_search.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/meta_search_engine.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_arxiv.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_brave.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_ddg.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_elasticsearch.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_github.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_google_pse.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_guardian.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_local.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_local_all.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_pubmed.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_searxng.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_serpapi.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_wayback.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/engines/search_engine_wikipedia.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/search_engine_base.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/search_engine_factory.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/src/local_deep_research/web_search_engines/search_engines_config.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/CI_INTEGRATION.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/TESTING_COMPARISON.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/TESTING_PROPOSAL.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/accessibility_tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/accessibility_tests/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/accessibility_tests/test_accessibility.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/accessibility_tests/test_accessibility_backend.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/test_api_basic.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/test_api_pytest.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/test_rest_api.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/api_tests/test_rest_api_simple.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/conftest.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/debug_url_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/download_stuff_for_local.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/feature_tests/IMPLEMENTATION_GUIDE_241.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/feature_tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/feature_tests/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/feature_tests/test_custom_context.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/fix_tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/fix_tests/test_duplicate_links_fix.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/fixtures/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/fixtures/search_engine_mocks.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/health_check/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/health_check/run_quick_health_check.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/health_check/test_endpoints_health.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/health_check/test_endpoints_health.sh +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/mock_fixtures.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/mock_llm_config.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/mock_modules.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/run_all_tests.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/search_engines/test_wikipedia_search.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/searxng/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/searxng/test_searxng.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/strategies/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/strategies/compare_strategies_visual.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/strategies/test_adaptive_strategy.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/strategies/test_iterative_reasoning.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/strategies/test_search_system_iterative.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_ci_config.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_citation_handler.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_google_pse.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_report_generator.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_research_strategy_orm.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_search_engines_enhanced.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_search_system.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_settings_manager.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_url_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_url_utils_simple.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_utils.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/test_wikipedia_url_security.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/README.md +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/__init__.py +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/run_all_tests.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_charts.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_cost_analytics.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_metrics.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_metrics_browser.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_metrics_chart.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_metrics_charts.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_metrics_only.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_network_requests.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_pages_browser.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_research_results.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_settings_errors.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_settings_page.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_settings_save.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_star_reviews.js +0 -0
- {local_deep_research-0.5.3 → local_deep_research-0.5.5}/tests/ui_tests/test_star_reviews_debug.js +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: local-deep-research
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.5
|
4
4
|
Summary: AI-powered research assistant with deep, iterative analysis using LLMs and web searches
|
5
5
|
Author-Email: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>, HashedViking <6432677+HashedViking@users.noreply.github.com>
|
6
6
|
License: MIT License
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.5"
|
@@ -50,7 +50,7 @@ class StandardQuestionGenerator(BaseQuestionGenerator):
|
|
50
50
|
response_text = str(response)
|
51
51
|
|
52
52
|
questions = [
|
53
|
-
q.replace("Q:", "").strip()
|
53
|
+
q.replace("Q:", "").strip()
|
54
54
|
for q in response_text.split("\n")
|
55
55
|
if q.strip().startswith("Q:")
|
56
56
|
][:questions_per_iteration]
|
@@ -55,7 +55,7 @@ class FocusedIterationStrategy(BaseSearchStrategy):
|
|
55
55
|
all_links_of_system=None,
|
56
56
|
max_iterations: int = 8, # OPTIMAL FOR SIMPLEQA: 96.51% accuracy achieved
|
57
57
|
questions_per_iteration: int = 5, # OPTIMAL FOR SIMPLEQA: proven config
|
58
|
-
use_browsecomp_optimization: bool =
|
58
|
+
use_browsecomp_optimization: bool = False, # Can be False for pure SimpleQA
|
59
59
|
):
|
60
60
|
"""Initialize with components optimized for focused iteration."""
|
61
61
|
super().__init__(all_links_of_system)
|
@@ -119,6 +119,18 @@ a:hover {
|
|
119
119
|
color: var(--text-primary);
|
120
120
|
}
|
121
121
|
|
122
|
+
.sidebar-nav li a:focus {
|
123
|
+
outline: 2px solid var(--accent-primary);
|
124
|
+
outline-offset: -2px;
|
125
|
+
background-color: var(--bg-tertiary);
|
126
|
+
color: var(--text-primary);
|
127
|
+
}
|
128
|
+
|
129
|
+
.sidebar-nav li a:focus .nav-shortcut {
|
130
|
+
background-color: var(--accent-primary);
|
131
|
+
color: var(--text-primary);
|
132
|
+
}
|
133
|
+
|
122
134
|
.sidebar-nav li.active {
|
123
135
|
color: var(--accent-primary);
|
124
136
|
background-color: rgba(110, 79, 246, 0.1);
|
@@ -130,13 +142,53 @@ a:hover {
|
|
130
142
|
color: inherit;
|
131
143
|
}
|
132
144
|
|
145
|
+
/* Navigation shortcuts */
|
146
|
+
.nav-shortcut {
|
147
|
+
margin-left: auto;
|
148
|
+
background-color: var(--bg-tertiary);
|
149
|
+
color: var(--text-muted);
|
150
|
+
padding: 0.2rem 0.5rem;
|
151
|
+
border-radius: 4px;
|
152
|
+
font-size: 0.75rem;
|
153
|
+
font-weight: 600;
|
154
|
+
min-width: 1.5rem;
|
155
|
+
text-align: center;
|
156
|
+
transition: all 0.2s;
|
157
|
+
}
|
158
|
+
|
159
|
+
.sidebar-nav li:hover .nav-shortcut {
|
160
|
+
background-color: var(--accent-primary);
|
161
|
+
color: var(--text-primary);
|
162
|
+
}
|
163
|
+
|
164
|
+
.sidebar-nav li.active .nav-shortcut {
|
165
|
+
background-color: var(--accent-primary);
|
166
|
+
color: var(--text-primary);
|
167
|
+
}
|
168
|
+
|
133
169
|
.sidebar-footer {
|
134
170
|
padding: 1rem 1.5rem;
|
135
171
|
border-top: 1px solid var(--border-color);
|
136
172
|
color: var(--text-muted);
|
137
173
|
font-size: 0.875rem;
|
138
174
|
display: flex;
|
139
|
-
|
175
|
+
flex-direction: column;
|
176
|
+
align-items: center;
|
177
|
+
gap: 0.5rem;
|
178
|
+
}
|
179
|
+
|
180
|
+
.nav-hint {
|
181
|
+
font-size: 0.75rem;
|
182
|
+
opacity: 0.7;
|
183
|
+
margin: 0;
|
184
|
+
}
|
185
|
+
|
186
|
+
.nav-hint kbd {
|
187
|
+
background-color: var(--bg-tertiary);
|
188
|
+
padding: 0.1rem 0.3rem;
|
189
|
+
border-radius: 3px;
|
190
|
+
font-size: 0.7rem;
|
191
|
+
border: 1px solid var(--border-color);
|
140
192
|
}
|
141
193
|
|
142
194
|
/* Main Content */
|
@@ -1046,6 +1098,11 @@ textarea:focus, input[type="text"]:focus {
|
|
1046
1098
|
justify-content: center;
|
1047
1099
|
}
|
1048
1100
|
|
1101
|
+
/* Hide navigation shortcuts on small screens */
|
1102
|
+
.nav-shortcut {
|
1103
|
+
display: none;
|
1104
|
+
}
|
1105
|
+
|
1049
1106
|
/* Active state fix for icon view */
|
1050
1107
|
.sidebar-nav li.active {
|
1051
1108
|
border-left-width: 3px;
|
@@ -1581,6 +1638,10 @@ textarea:focus, input[type="text"]:focus {
|
|
1581
1638
|
border-radius: 8px;
|
1582
1639
|
background-color: rgba(64, 191, 255, 0.05);
|
1583
1640
|
border: 1px solid rgba(64, 191, 255, 0.1);
|
1641
|
+
width: 100%;
|
1642
|
+
text-align: left;
|
1643
|
+
font-family: inherit;
|
1644
|
+
font-size: inherit;
|
1584
1645
|
}
|
1585
1646
|
|
1586
1647
|
.advanced-options-toggle:hover {
|
@@ -1605,11 +1666,25 @@ textarea:focus, input[type="text"]:focus {
|
|
1605
1666
|
.advanced-options-panel {
|
1606
1667
|
background-color: rgba(42, 42, 58, 0.5);
|
1607
1668
|
border-radius: 8px;
|
1608
|
-
padding: 1.5rem;
|
1669
|
+
padding: 0 1.5rem;
|
1609
1670
|
margin-bottom: 1.5rem;
|
1610
1671
|
border: 1px solid var(--border-color);
|
1611
|
-
display: none;
|
1612
1672
|
box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.1);
|
1673
|
+
max-height: 0;
|
1674
|
+
overflow: hidden;
|
1675
|
+
opacity: 0;
|
1676
|
+
visibility: hidden;
|
1677
|
+
pointer-events: none;
|
1678
|
+
transition: all 0.3s ease;
|
1679
|
+
}
|
1680
|
+
|
1681
|
+
.advanced-options-toggle.open + .advanced-options-panel,
|
1682
|
+
.advanced-options-panel.expanded {
|
1683
|
+
max-height: 1000px;
|
1684
|
+
opacity: 1;
|
1685
|
+
visibility: visible;
|
1686
|
+
pointer-events: auto;
|
1687
|
+
padding: 1.5rem;
|
1613
1688
|
}
|
1614
1689
|
|
1615
1690
|
.form-row {
|
@@ -293,6 +293,18 @@
|
|
293
293
|
}
|
294
294
|
});
|
295
295
|
|
296
|
+
// Blur event - close dropdown when tabbing away
|
297
|
+
input.addEventListener('blur', (e) => {
|
298
|
+
// Small delay to allow click events on dropdown items to fire first
|
299
|
+
setTimeout(() => {
|
300
|
+
// Check if focus has moved to an element inside the dropdown
|
301
|
+
const activeElement = document.activeElement;
|
302
|
+
if (!dropdownList.contains(activeElement) && activeElement !== input) {
|
303
|
+
hideDropdown();
|
304
|
+
}
|
305
|
+
}, 150);
|
306
|
+
});
|
307
|
+
|
296
308
|
// Keyboard navigation for dropdown
|
297
309
|
input.addEventListener('keydown', (e) => {
|
298
310
|
const items = dropdownList.querySelectorAll('.custom-dropdown-item');
|
@@ -436,8 +436,17 @@
|
|
436
436
|
const savedState = localStorage.getItem('advancedOptionsOpen') === 'true';
|
437
437
|
|
438
438
|
if (savedState) {
|
439
|
-
advancedToggle.classList.add('open'
|
440
|
-
|
439
|
+
advancedToggle.classList.add('open');
|
440
|
+
advancedPanel.classList.add('expanded');
|
441
|
+
|
442
|
+
// Update ARIA attributes
|
443
|
+
advancedToggle.setAttribute('aria-expanded', 'true');
|
444
|
+
|
445
|
+
// Update screen reader text
|
446
|
+
const srText = advancedToggle.querySelector('.sr-only');
|
447
|
+
if (srText) {
|
448
|
+
srText.textContent = 'Click to collapse advanced options';
|
449
|
+
}
|
441
450
|
|
442
451
|
// Update icon immediately
|
443
452
|
const icon = advancedToggle.querySelector('i');
|
@@ -445,8 +454,18 @@
|
|
445
454
|
icon.className = 'fas fa-chevron-up';
|
446
455
|
}
|
447
456
|
} else {
|
448
|
-
advancedToggle.classList.remove('open'
|
449
|
-
|
457
|
+
advancedToggle.classList.remove('open');
|
458
|
+
advancedPanel.classList.remove('expanded');
|
459
|
+
|
460
|
+
// Update ARIA attributes
|
461
|
+
advancedToggle.setAttribute('aria-expanded', 'false');
|
462
|
+
|
463
|
+
// Update screen reader text
|
464
|
+
const srText = advancedToggle.querySelector('.sr-only');
|
465
|
+
if (srText) {
|
466
|
+
srText.textContent = 'Click to expand advanced options';
|
467
|
+
}
|
468
|
+
|
450
469
|
// Ensure icon is correct
|
451
470
|
const icon = advancedToggle.querySelector('i');
|
452
471
|
if (icon) {
|
@@ -460,6 +479,15 @@
|
|
460
479
|
const isOpen = advancedToggle.classList.toggle('open');
|
461
480
|
advancedToggle.classList.toggle('expanded', isOpen);
|
462
481
|
|
482
|
+
// Update ARIA attributes for accessibility
|
483
|
+
this.setAttribute('aria-expanded', isOpen);
|
484
|
+
|
485
|
+
// Update screen reader text
|
486
|
+
const srText = this.querySelector('.sr-only');
|
487
|
+
if (srText) {
|
488
|
+
srText.textContent = isOpen ? 'Click to collapse advanced options' : 'Click to expand advanced options';
|
489
|
+
}
|
490
|
+
|
463
491
|
// Save state to localStorage
|
464
492
|
localStorage.setItem('advancedOptionsOpen', isOpen);
|
465
493
|
|
@@ -469,27 +497,40 @@
|
|
469
497
|
icon.className = isOpen ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
|
470
498
|
}
|
471
499
|
|
472
|
-
//
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
} else {
|
482
|
-
advancedPanel.classList.remove('expanded'); // Remove class to trigger transition
|
483
|
-
// Optionally hide with display:none after transition ends (using event listener)
|
484
|
-
advancedPanel.addEventListener('transitionend', () => {
|
485
|
-
if (!advancedPanel.classList.contains('expanded')) {
|
486
|
-
advancedPanel.style.display = 'none';
|
487
|
-
}
|
488
|
-
}, { once: true });
|
500
|
+
// Update panel expanded class for CSS animation
|
501
|
+
advancedPanel.classList.toggle('expanded', isOpen);
|
502
|
+
});
|
503
|
+
|
504
|
+
// Add keyboard support for the advanced options toggle
|
505
|
+
advancedToggle.addEventListener('keydown', function(event) {
|
506
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
507
|
+
event.preventDefault();
|
508
|
+
this.click(); // Trigger the click handler
|
489
509
|
}
|
490
510
|
});
|
491
511
|
}
|
492
512
|
|
513
|
+
// Global keyboard shortcuts for this page
|
514
|
+
document.addEventListener('keydown', function(event) {
|
515
|
+
// Escape key: return focus to search field (override global Esc behavior when on search page)
|
516
|
+
if (event.key === 'Escape') {
|
517
|
+
if (queryInput && document.activeElement !== queryInput) {
|
518
|
+
event.preventDefault();
|
519
|
+
event.stopPropagation(); // Prevent global keyboard service from handling this
|
520
|
+
queryInput.focus();
|
521
|
+
queryInput.select(); // Select all text for easy replacement
|
522
|
+
}
|
523
|
+
}
|
524
|
+
|
525
|
+
// Ctrl/Cmd + Enter: submit form from anywhere on the page
|
526
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 'Enter') {
|
527
|
+
if (form) {
|
528
|
+
event.preventDefault();
|
529
|
+
handleResearchSubmit(new Event('submit'));
|
530
|
+
}
|
531
|
+
}
|
532
|
+
});
|
533
|
+
|
493
534
|
// Form submission
|
494
535
|
form.addEventListener('submit', handleResearchSubmit);
|
495
536
|
|
@@ -505,15 +546,21 @@
|
|
505
546
|
selectMode(this);
|
506
547
|
} else if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {
|
507
548
|
event.preventDefault();
|
508
|
-
|
509
|
-
|
549
|
+
// Find the previous mode option, skipping hidden inputs
|
550
|
+
const allModeOptions = Array.from(document.querySelectorAll('.mode-option'));
|
551
|
+
const currentIndex = allModeOptions.indexOf(this);
|
552
|
+
const previousMode = allModeOptions[currentIndex - 1];
|
553
|
+
if (previousMode) {
|
510
554
|
selectMode(previousMode);
|
511
555
|
previousMode.focus();
|
512
556
|
}
|
513
557
|
} else if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {
|
514
558
|
event.preventDefault();
|
515
|
-
|
516
|
-
|
559
|
+
// Find the next mode option, skipping hidden inputs
|
560
|
+
const allModeOptions = Array.from(document.querySelectorAll('.mode-option'));
|
561
|
+
const currentIndex = allModeOptions.indexOf(this);
|
562
|
+
const nextMode = allModeOptions[currentIndex + 1];
|
563
|
+
if (nextMode) {
|
517
564
|
selectMode(nextMode);
|
518
565
|
nextMode.focus();
|
519
566
|
}
|
@@ -8,12 +8,40 @@
|
|
8
8
|
// Keyboard shortcut registry - simplified to just the essential ones
|
9
9
|
const shortcuts = {
|
10
10
|
'newSearch': {
|
11
|
-
keys: ['
|
11
|
+
keys: ['escape'],
|
12
12
|
description: 'Return to main search',
|
13
13
|
handler: () => {
|
14
14
|
// Always navigate to main research page
|
15
15
|
window.location.href = '/';
|
16
16
|
}
|
17
|
+
},
|
18
|
+
'navNewResearch': {
|
19
|
+
keys: ['ctrl+shift+1'],
|
20
|
+
description: 'Go to New Research',
|
21
|
+
handler: () => {
|
22
|
+
window.location.href = '/';
|
23
|
+
}
|
24
|
+
},
|
25
|
+
'navHistory': {
|
26
|
+
keys: ['ctrl+shift+2'],
|
27
|
+
description: 'Go to History',
|
28
|
+
handler: () => {
|
29
|
+
window.location.href = '/research/history';
|
30
|
+
}
|
31
|
+
},
|
32
|
+
'navMetrics': {
|
33
|
+
keys: ['ctrl+shift+3'],
|
34
|
+
description: 'Go to Metrics',
|
35
|
+
handler: () => {
|
36
|
+
window.location.href = '/metrics';
|
37
|
+
}
|
38
|
+
},
|
39
|
+
'navSettings': {
|
40
|
+
keys: ['ctrl+shift+4'],
|
41
|
+
description: 'Go to Settings',
|
42
|
+
handler: () => {
|
43
|
+
window.location.href = '/research/settings';
|
44
|
+
}
|
17
45
|
}
|
18
46
|
};
|
19
47
|
|
@@ -39,7 +67,7 @@
|
|
39
67
|
|
40
68
|
// Match key
|
41
69
|
const eventKey = event.key.toLowerCase();
|
42
|
-
if (eventKey !== key && event.code.toLowerCase() !== `key${key}`) {
|
70
|
+
if (eventKey !== key && event.code.toLowerCase() !== `key${key}` && event.code.toLowerCase() !== `digit${key}`) {
|
43
71
|
// Special handling for special keys
|
44
72
|
if (key === '/' && eventKey !== '/') return false;
|
45
73
|
else if (key === ',' && eventKey !== ',') return false;
|
@@ -70,9 +98,22 @@
|
|
70
98
|
activeElement.contentEditable === 'true'
|
71
99
|
);
|
72
100
|
|
73
|
-
//
|
74
|
-
if (isTyping
|
75
|
-
|
101
|
+
// Skip shortcuts when typing, except for navigation shortcuts and Esc (unless on settings page)
|
102
|
+
if (isTyping) {
|
103
|
+
const isNavShortcut = event.ctrlKey && event.shiftKey && (
|
104
|
+
['1', '2', '3', '4'].includes(event.key) ||
|
105
|
+
['Digit1', 'Digit2', 'Digit3', 'Digit4'].includes(event.code)
|
106
|
+
);
|
107
|
+
const isEscOnSettingsPage = event.key === 'Escape' && window.location.pathname.includes('/settings');
|
108
|
+
|
109
|
+
// Debug navigation shortcuts
|
110
|
+
if (event.ctrlKey && event.shiftKey) {
|
111
|
+
console.log('Nav shortcut attempt:', event.key, event.code, 'isNavShortcut:', isNavShortcut);
|
112
|
+
}
|
113
|
+
|
114
|
+
if (!isNavShortcut && (event.key !== 'Escape' || isEscOnSettingsPage)) {
|
115
|
+
return;
|
116
|
+
}
|
76
117
|
}
|
77
118
|
|
78
119
|
// Debug log
|
@@ -35,7 +35,11 @@
|
|
35
35
|
</span>
|
36
36
|
<span class="hint-item">
|
37
37
|
<i class="fas fa-home hint-icon"></i>
|
38
|
-
<span class="hint-text"><kbd>
|
38
|
+
<span class="hint-text"><kbd>Esc</kbd> returns here from anywhere</span>
|
39
|
+
</span>
|
40
|
+
<span class="hint-item">
|
41
|
+
<i class="fas fa-bars hint-icon"></i>
|
42
|
+
<span class="hint-text"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>1-4</kbd> to navigate menu</span>
|
39
43
|
</span>
|
40
44
|
</div>
|
41
45
|
</div>
|
@@ -65,13 +69,14 @@
|
|
65
69
|
</fieldset>
|
66
70
|
</div>
|
67
71
|
|
68
|
-
<!-- Advanced Options -->
|
69
|
-
<
|
72
|
+
<!-- Advanced Options - positioned before start for configuration -->
|
73
|
+
<button type="button" class="advanced-options-toggle" aria-expanded="false" aria-controls="advanced-options-panel">
|
70
74
|
<span class="toggle-text">Advanced Options</span>
|
71
|
-
<i class="fas fa-chevron-down"></i>
|
72
|
-
|
75
|
+
<i class="fas fa-chevron-down" aria-hidden="true"></i>
|
76
|
+
<span class="sr-only">Click to expand advanced options</span>
|
77
|
+
</button>
|
73
78
|
|
74
|
-
<div class="advanced-options-panel">
|
79
|
+
<div class="advanced-options-panel" id="advanced-options-panel" aria-labelledby="advanced-options-toggle">
|
75
80
|
<div class="form-row">
|
76
81
|
<!-- Model Provider Selection -->
|
77
82
|
<div class="form-group half">
|
@@ -151,6 +156,12 @@
|
|
151
156
|
</div>
|
152
157
|
</div>
|
153
158
|
|
159
|
+
<!-- Start Research Button -->
|
160
|
+
<div class="form-actions">
|
161
|
+
<button type="submit" class="btn btn-primary" id="start-research-btn"><i class="fas fa-rocket"></i> Start Research</button>
|
162
|
+
</div>
|
163
|
+
|
164
|
+
<!-- Audio Notifications -->
|
154
165
|
<div class="form-options">
|
155
166
|
<div class="form-option">
|
156
167
|
<label for="notification-toggle" class="checkbox-label">
|
@@ -159,10 +170,6 @@
|
|
159
170
|
</label>
|
160
171
|
</div>
|
161
172
|
</div>
|
162
|
-
|
163
|
-
<div class="form-actions">
|
164
|
-
<button type="submit" class="btn btn-primary" id="start-research-btn"><i class="fas fa-rocket"></i> Start Research</button>
|
165
|
-
</div>
|
166
173
|
</form>
|
167
174
|
</div>
|
168
175
|
</div>
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|