local-deep-research 0.4.3__tar.gz → 0.4.4__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.4.3 → local_deep_research-0.4.4}/PKG-INFO +2 -2
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/pyproject.toml +2 -2
- local_deep_research-0.4.4/src/local_deep_research/__version__.py +1 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/defaults/default_settings.json +35 -35
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/services/settings_manager.py +3 -1
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/settings.js +70 -47
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/test_settings_manager.py +1 -0
- local_deep_research-0.4.3/src/local_deep_research/__version__.py +0 -1
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/LICENSE +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/filters/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/filters/base_filter.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/filters/cross_engine_filter.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/filters/journal_reputation_filter.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/findings/base_findings.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/findings/repository.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/knowledge/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/knowledge/base_knowledge.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/knowledge/standard_knowledge.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/questions/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/questions/base_question.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/questions/decomposition_question.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/questions/standard_question.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/repositories/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/base_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/iterdrag_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/parallel_search_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/rapid_search_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/source_based_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/strategies/standard_strategy.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/tools/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/tools/base_tool.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/tools/knowledge_tools/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/tools/question_tools/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/advanced_search_system/tools/search_tools/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/api/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/api/benchmark_functions.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/api/research_functions.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/benchmark_functions.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/cli/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/cli/benchmark_commands.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/cli.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/comparison/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/comparison/evaluator.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/base.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/browsecomp.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/custom_dataset_template.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/simpleqa.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets/utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/datasets.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/efficiency/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/efficiency/resource_monitor.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/efficiency/speed_profiler.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/evaluators/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/evaluators/base.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/evaluators/browsecomp.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/evaluators/composite.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/evaluators/simpleqa.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/graders.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics/calculation.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics/reporting.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics/visualization.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/metrics.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/optimization/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/optimization/api.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/optimization/metrics.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/optimization/optuna_optimizer.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/runners.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/templates.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/citation_handler.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/config/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/config/llm_config.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/config/search_config.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/defaults/.env.template +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/defaults/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/migrate_db.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/report_generator.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/search_system.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/setup_data_dir.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/test_migration.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/db_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/enums.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/es_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/llm_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/log_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/search_utilities.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/setup_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/utilities/url_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/app.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/app_factory.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/database/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/database/migrate_to_ldr_db.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/database/migrations.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/database/models.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/database/schema_upgrade.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/models/database.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/models/settings.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/routes/api_routes.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/routes/benchmark_routes.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/routes/history_routes.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/routes/research_routes.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/routes/settings_routes.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/services/research_service.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/services/resource_service.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/services/settings_service.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/services/socket_service.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/css/custom_dropdown.css +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/css/settings.css +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/css/styles.css +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/custom_dropdown.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/detail.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/fallback/formatting.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/fallback/ui.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/history.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/logpanel.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/progress.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/research.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/results.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/components/settings_sync.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/main.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/research_form.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/api.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/audio.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/formatting.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/pdf.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/socket.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/js/services/ui.js +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/sounds/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/sounds/error.mp3 +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/static/sounds/success.mp3 +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/base.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/components/custom_dropdown.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/components/log_panel.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/components/mobile_nav.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/components/settings_form.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/components/sidebar.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/pages/details.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/pages/history.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/pages/progress.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/pages/research.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/pages/results.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/templates/settings_dashboard.html +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/utils/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/utils/formatters.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web/utils/templates.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/default_search_engines.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/full_search.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/meta_search_engine.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_arxiv.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_brave.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_ddg.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_elasticsearch.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_github.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_google_pse.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_guardian.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_local.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_local_all.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_pubmed.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_searxng.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_serpapi.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_wayback.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/engines/search_engine_wikipedia.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/search_engine_base.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/search_engine_factory.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/web_search_engines/search_engines_config.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/TESTING_PROPOSAL.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/conftest.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/download_stuff_for_local_test.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/feature_tests/IMPLEMENTATION_GUIDE_241.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/feature_tests/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/feature_tests/__init__.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/feature_tests/test_custom_context.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/fix_tests/README.md +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/fix_tests/test_duplicate_links_fix.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/searxng/test_searxng_instance.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/searxng/test_searxng_integration.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/test_google_pse.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/test_url_utils.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/test_url_utils_debug.py +0 -0
- {local_deep_research-0.4.3 → local_deep_research-0.4.4}/tests/test_url_utils_simple.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: local-deep-research
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.4
|
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
|
@@ -74,7 +74,7 @@ Requires-Dist: loguru>=0.7.3
|
|
74
74
|
Requires-Dist: matplotlib>=3.10.3
|
75
75
|
Requires-Dist: pandas>=2.2.3
|
76
76
|
Requires-Dist: plotly>=6.0.1
|
77
|
-
Requires-Dist: kaleido==0.1
|
77
|
+
Requires-Dist: kaleido==0.2.1
|
78
78
|
Description-Content-Type: text/markdown
|
79
79
|
|
80
80
|
# Local Deep Research
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.4.4"
|
@@ -991,7 +991,7 @@
|
|
991
991
|
"options": null,
|
992
992
|
"step": null,
|
993
993
|
"type": "SEARCH",
|
994
|
-
"ui_element": "
|
994
|
+
"ui_element": "json",
|
995
995
|
"value": [
|
996
996
|
"scientific papers",
|
997
997
|
"academic research",
|
@@ -1014,7 +1014,7 @@
|
|
1014
1014
|
"options": null,
|
1015
1015
|
"step": null,
|
1016
1016
|
"type": "SEARCH",
|
1017
|
-
"ui_element": "
|
1017
|
+
"ui_element": "json",
|
1018
1018
|
"value": [
|
1019
1019
|
"non-academic topics",
|
1020
1020
|
"consumer products",
|
@@ -1159,7 +1159,7 @@
|
|
1159
1159
|
"options": null,
|
1160
1160
|
"step": null,
|
1161
1161
|
"type": "SEARCH",
|
1162
|
-
"ui_element": "
|
1162
|
+
"ui_element": "json",
|
1163
1163
|
"value": [
|
1164
1164
|
"intelligent engine selection",
|
1165
1165
|
"adaptable to query type",
|
@@ -1177,7 +1177,7 @@
|
|
1177
1177
|
"options": null,
|
1178
1178
|
"step": null,
|
1179
1179
|
"type": "SEARCH",
|
1180
|
-
"ui_element": "
|
1180
|
+
"ui_element": "json",
|
1181
1181
|
"value": [
|
1182
1182
|
"slightly slower due to LLM analysis"
|
1183
1183
|
],
|
@@ -1375,7 +1375,7 @@
|
|
1375
1375
|
"options": null,
|
1376
1376
|
"step": null,
|
1377
1377
|
"type": "SEARCH",
|
1378
|
-
"ui_element": "
|
1378
|
+
"ui_element": "json",
|
1379
1379
|
"value": [
|
1380
1380
|
"privacy-focused web search",
|
1381
1381
|
"product information",
|
@@ -1410,7 +1410,7 @@
|
|
1410
1410
|
"options": null,
|
1411
1411
|
"step": null,
|
1412
1412
|
"type": "SEARCH",
|
1413
|
-
"ui_element": "
|
1413
|
+
"ui_element": "json",
|
1414
1414
|
"value": [
|
1415
1415
|
"requires API key with usage limits",
|
1416
1416
|
"smaller index than Google"
|
@@ -1640,7 +1640,7 @@
|
|
1640
1640
|
"options": null,
|
1641
1641
|
"step": null,
|
1642
1642
|
"type": "SEARCH",
|
1643
|
-
"ui_element": "
|
1643
|
+
"ui_element": "json",
|
1644
1644
|
"value": [
|
1645
1645
|
"code repositories",
|
1646
1646
|
"software documentation",
|
@@ -1675,7 +1675,7 @@
|
|
1675
1675
|
"options": null,
|
1676
1676
|
"step": null,
|
1677
1677
|
"type": "SEARCH",
|
1678
|
-
"ui_element": "
|
1678
|
+
"ui_element": "json",
|
1679
1679
|
"value": [
|
1680
1680
|
"non-technical content",
|
1681
1681
|
"content outside GitHub",
|
@@ -1861,7 +1861,7 @@
|
|
1861
1861
|
"options": null,
|
1862
1862
|
"step": null,
|
1863
1863
|
"type": "SEARCH",
|
1864
|
-
"ui_element": "
|
1864
|
+
"ui_element": "json",
|
1865
1865
|
"value": [
|
1866
1866
|
"custom search scope",
|
1867
1867
|
"high-quality results",
|
@@ -1895,7 +1895,7 @@
|
|
1895
1895
|
"options": null,
|
1896
1896
|
"step": null,
|
1897
1897
|
"type": "SEARCH",
|
1898
|
-
"ui_element": "
|
1898
|
+
"ui_element": "json",
|
1899
1899
|
"value": [
|
1900
1900
|
"requires API key with usage limits",
|
1901
1901
|
"limited to 10,000 queries/day on free tier",
|
@@ -2025,7 +2025,7 @@
|
|
2025
2025
|
"options": null,
|
2026
2026
|
"step": null,
|
2027
2027
|
"type": "SEARCH",
|
2028
|
-
"ui_element": "
|
2028
|
+
"ui_element": "json",
|
2029
2029
|
"value": [
|
2030
2030
|
"searches all local collections",
|
2031
2031
|
"personal documents",
|
@@ -2043,7 +2043,7 @@
|
|
2043
2043
|
"options": null,
|
2044
2044
|
"step": null,
|
2045
2045
|
"type": "SEARCH",
|
2046
|
-
"ui_element": "
|
2046
|
+
"ui_element": "json",
|
2047
2047
|
"value": [
|
2048
2048
|
"may return too many results",
|
2049
2049
|
"requires indexing"
|
@@ -2232,9 +2232,9 @@
|
|
2232
2232
|
"options": null,
|
2233
2233
|
"step": null,
|
2234
2234
|
"type": "SEARCH",
|
2235
|
-
"ui_element": "
|
2235
|
+
"ui_element": "json",
|
2236
2236
|
"value": [
|
2237
|
-
"
|
2237
|
+
"/local_collections/personal_notes"
|
2238
2238
|
],
|
2239
2239
|
"visible": true
|
2240
2240
|
},
|
@@ -2262,7 +2262,7 @@
|
|
2262
2262
|
"options": null,
|
2263
2263
|
"step": null,
|
2264
2264
|
"type": "SEARCH",
|
2265
|
-
"ui_element": "
|
2265
|
+
"ui_element": "json",
|
2266
2266
|
"value": [
|
2267
2267
|
"personal knowledge",
|
2268
2268
|
"notes",
|
@@ -2280,7 +2280,7 @@
|
|
2280
2280
|
"options": null,
|
2281
2281
|
"step": null,
|
2282
2282
|
"type": "SEARCH",
|
2283
|
-
"ui_element": "
|
2283
|
+
"ui_element": "json",
|
2284
2284
|
"value": [
|
2285
2285
|
"subjective content",
|
2286
2286
|
"informal information"
|
@@ -2469,9 +2469,9 @@
|
|
2469
2469
|
"options": null,
|
2470
2470
|
"step": null,
|
2471
2471
|
"type": "SEARCH",
|
2472
|
-
"ui_element": "
|
2472
|
+
"ui_element": "json",
|
2473
2473
|
"value": [
|
2474
|
-
"
|
2474
|
+
"/local_collections/project_docs/"
|
2475
2475
|
],
|
2476
2476
|
"visible": true
|
2477
2477
|
},
|
@@ -2499,7 +2499,7 @@
|
|
2499
2499
|
"options": null,
|
2500
2500
|
"step": null,
|
2501
2501
|
"type": "SEARCH",
|
2502
|
-
"ui_element": "
|
2502
|
+
"ui_element": "json",
|
2503
2503
|
"value": [
|
2504
2504
|
"project documentation",
|
2505
2505
|
"specifications",
|
@@ -2517,7 +2517,7 @@
|
|
2517
2517
|
"options": null,
|
2518
2518
|
"step": null,
|
2519
2519
|
"type": "SEARCH",
|
2520
|
-
"ui_element": "
|
2520
|
+
"ui_element": "json",
|
2521
2521
|
"value": [
|
2522
2522
|
"no external information",
|
2523
2523
|
"limited to organizational knowledge"
|
@@ -2730,7 +2730,7 @@
|
|
2730
2730
|
"options": null,
|
2731
2731
|
"step": null,
|
2732
2732
|
"type": "SEARCH",
|
2733
|
-
"ui_element": "
|
2733
|
+
"ui_element": "json",
|
2734
2734
|
"value": [
|
2735
2735
|
"biomedical literature",
|
2736
2736
|
"medical research",
|
@@ -2751,7 +2751,7 @@
|
|
2751
2751
|
"options": null,
|
2752
2752
|
"step": null,
|
2753
2753
|
"type": "SEARCH",
|
2754
|
-
"ui_element": "
|
2754
|
+
"ui_element": "json",
|
2755
2755
|
"value": [
|
2756
2756
|
"non-medical topics",
|
2757
2757
|
"very recent papers may be missing",
|
@@ -2941,9 +2941,9 @@
|
|
2941
2941
|
"options": null,
|
2942
2942
|
"step": null,
|
2943
2943
|
"type": "SEARCH",
|
2944
|
-
"ui_element": "
|
2944
|
+
"ui_element": "json",
|
2945
2945
|
"value": [
|
2946
|
-
"
|
2946
|
+
"/local_collections/research_papers/"
|
2947
2947
|
],
|
2948
2948
|
"visible": true
|
2949
2949
|
},
|
@@ -2971,7 +2971,7 @@
|
|
2971
2971
|
"options": null,
|
2972
2972
|
"step": null,
|
2973
2973
|
"type": "SEARCH",
|
2974
|
-
"ui_element": "
|
2974
|
+
"ui_element": "json",
|
2975
2975
|
"value": [
|
2976
2976
|
"academic research",
|
2977
2977
|
"scientific papers",
|
@@ -2989,7 +2989,7 @@
|
|
2989
2989
|
"options": null,
|
2990
2990
|
"step": null,
|
2991
2991
|
"type": "SEARCH",
|
2992
|
-
"ui_element": "
|
2992
|
+
"ui_element": "json",
|
2993
2993
|
"value": [
|
2994
2994
|
"potentially outdated",
|
2995
2995
|
"limited to collected papers"
|
@@ -3062,7 +3062,7 @@
|
|
3062
3062
|
"options": null,
|
3063
3063
|
"step": null,
|
3064
3064
|
"type": "SEARCH",
|
3065
|
-
"ui_element": "
|
3065
|
+
"ui_element": "json",
|
3066
3066
|
"value": [
|
3067
3067
|
"general"
|
3068
3068
|
],
|
@@ -3231,7 +3231,7 @@
|
|
3231
3231
|
"options": null,
|
3232
3232
|
"step": null,
|
3233
3233
|
"type": "SEARCH",
|
3234
|
-
"ui_element": "
|
3234
|
+
"ui_element": "json",
|
3235
3235
|
"value": [
|
3236
3236
|
"comprehensive general information",
|
3237
3237
|
"current events and news",
|
@@ -3270,7 +3270,7 @@
|
|
3270
3270
|
"options": null,
|
3271
3271
|
"step": null,
|
3272
3272
|
"type": "SEARCH",
|
3273
|
-
"ui_element": "
|
3273
|
+
"ui_element": "json",
|
3274
3274
|
"value": [
|
3275
3275
|
"requires self-hosting",
|
3276
3276
|
"depends on other search engines",
|
@@ -3470,7 +3470,7 @@
|
|
3470
3470
|
"options": null,
|
3471
3471
|
"step": null,
|
3472
3472
|
"type": "SEARCH",
|
3473
|
-
"ui_element": "
|
3473
|
+
"ui_element": "json",
|
3474
3474
|
"value": [
|
3475
3475
|
"comprehensive web search",
|
3476
3476
|
"product information",
|
@@ -3505,7 +3505,7 @@
|
|
3505
3505
|
"options": null,
|
3506
3506
|
"step": null,
|
3507
3507
|
"type": "SEARCH",
|
3508
|
-
"ui_element": "
|
3508
|
+
"ui_element": "json",
|
3509
3509
|
"value": [
|
3510
3510
|
"requires API key with usage limits",
|
3511
3511
|
"not specialized for academic content"
|
@@ -3662,7 +3662,7 @@
|
|
3662
3662
|
"options": null,
|
3663
3663
|
"step": null,
|
3664
3664
|
"type": "SEARCH",
|
3665
|
-
"ui_element": "
|
3665
|
+
"ui_element": "json",
|
3666
3666
|
"value": [
|
3667
3667
|
"historical web content",
|
3668
3668
|
"archived websites",
|
@@ -3696,7 +3696,7 @@
|
|
3696
3696
|
"options": null,
|
3697
3697
|
"step": null,
|
3698
3698
|
"type": "SEARCH",
|
3699
|
-
"ui_element": "
|
3699
|
+
"ui_element": "json",
|
3700
3700
|
"value": [
|
3701
3701
|
"limited to previously archived content",
|
3702
3702
|
"may miss recent changes",
|
@@ -3868,7 +3868,7 @@
|
|
3868
3868
|
"options": null,
|
3869
3869
|
"step": null,
|
3870
3870
|
"type": "SEARCH",
|
3871
|
-
"ui_element": "
|
3871
|
+
"ui_element": "json",
|
3872
3872
|
"value": [
|
3873
3873
|
"factual information",
|
3874
3874
|
"general knowledge",
|
@@ -3889,7 +3889,7 @@
|
|
3889
3889
|
"options": null,
|
3890
3890
|
"step": null,
|
3891
3891
|
"type": "SEARCH",
|
3892
|
-
"ui_element": "
|
3892
|
+
"ui_element": "json",
|
3893
3893
|
"value": [
|
3894
3894
|
"recent events",
|
3895
3895
|
"specialized academic topics",
|
@@ -47,6 +47,8 @@ class SettingsManager:
|
|
47
47
|
|
48
48
|
_UI_ELEMENT_TO_SETTING_TYPE = {
|
49
49
|
"text": str,
|
50
|
+
# SQLAlchemy should already handle JSON parsing.
|
51
|
+
"json": lambda x: x,
|
50
52
|
"password": str,
|
51
53
|
"select": str,
|
52
54
|
"number": float,
|
@@ -70,7 +72,7 @@ class SettingsManager:
|
|
70
72
|
|
71
73
|
def __get_typed_setting_value(
|
72
74
|
self, setting: Type[Setting], default: Any = None, check_env: bool = True
|
73
|
-
) ->
|
75
|
+
) -> Any:
|
74
76
|
"""
|
75
77
|
Extracts the value for a particular setting, ensuring that it has the
|
76
78
|
correct type.
|
@@ -395,16 +395,28 @@
|
|
395
395
|
shouldSaveImmediately = true;
|
396
396
|
}
|
397
397
|
}
|
398
|
-
|
399
|
-
|
398
|
+
// Handle range/slider (save on change/input or blur)
|
399
|
+
else if (input.type === 'range') {
|
400
400
|
value = input.value;
|
401
401
|
if (eventType === 'change' || eventType === 'input' || eventType === 'blur') {
|
402
402
|
shouldSaveImmediately = true;
|
403
403
|
}
|
404
|
-
|
404
|
+
}
|
405
405
|
// Handle other inputs (text, number, textarea) - Save on Enter or Blur
|
406
406
|
else {
|
407
407
|
value = input.value;
|
408
|
+
|
409
|
+
// Handle JSON.
|
410
|
+
if (input.classList.contains('json-content')) {
|
411
|
+
try {
|
412
|
+
// Validate
|
413
|
+
value = JSON.parse(input.value);
|
414
|
+
} catch (e) {
|
415
|
+
markInvalidInput(input, 'Invalid JSON');
|
416
|
+
return;
|
417
|
+
}
|
418
|
+
}
|
419
|
+
|
408
420
|
// Basic validation for number
|
409
421
|
if (input.type === 'number') {
|
410
422
|
try {
|
@@ -1429,31 +1441,32 @@
|
|
1429
1441
|
// Generate the appropriate input element based on UI element type
|
1430
1442
|
switch(setting.ui_element) {
|
1431
1443
|
case 'textarea':
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1444
|
+
inputElement = `
|
1445
|
+
<textarea id="${settingId}" name="${setting.key}"
|
1446
|
+
class="settings-textarea"
|
1447
|
+
${!setting.editable ? 'disabled' : ''}
|
1448
|
+
>${setting.value !== null ? setting.value : ''}</textarea>
|
1449
|
+
`;
|
1450
|
+
break;
|
1451
|
+
|
1452
|
+
case 'json':
|
1453
|
+
let jsonClass = ' json-content';
|
1435
1454
|
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1455
|
+
// Try to format the JSON for better display
|
1456
|
+
try {
|
1457
|
+
setting.value = JSON.stringify(JSON.parse(setting.value), null, 2);
|
1458
|
+
} catch (e) {
|
1459
|
+
// If parsing fails, keep the original value
|
1460
|
+
console.log('Error formatting JSON:', e);
|
1461
|
+
}
|
1440
1462
|
|
1441
|
-
|
1463
|
+
// If it's an object (not an array), render individual controls
|
1464
|
+
if (setting.value.startsWith('{')) {
|
1442
1465
|
try {
|
1443
|
-
|
1466
|
+
const jsonObj = JSON.parse(setting.value);
|
1467
|
+
return renderExpandedJsonControls(setting, settingId, jsonObj);
|
1444
1468
|
} catch (e) {
|
1445
|
-
|
1446
|
-
console.log('Error formatting JSON:', e);
|
1447
|
-
}
|
1448
|
-
|
1449
|
-
// If it's an object (not an array), render individual controls
|
1450
|
-
if (setting.value.startsWith('{')) {
|
1451
|
-
try {
|
1452
|
-
const jsonObj = JSON.parse(setting.value);
|
1453
|
-
return renderExpandedJsonControls(setting, settingId, jsonObj);
|
1454
|
-
} catch (e) {
|
1455
|
-
console.log('Error parsing JSON for controls:', e);
|
1456
|
-
}
|
1469
|
+
console.log('Error parsing JSON for controls:', e);
|
1457
1470
|
}
|
1458
1471
|
}
|
1459
1472
|
|
@@ -1581,26 +1594,15 @@
|
|
1581
1594
|
|
1582
1595
|
default:
|
1583
1596
|
// Handle llm.model here explicitly if not handled by ui_element
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1593
|
-
} else {
|
1594
|
-
// Default to text input
|
1595
|
-
inputElement = `
|
1596
|
-
<input type="${setting.ui_element === 'password' ? 'password' : 'text'}"
|
1597
|
-
id="${settingId}" name="${setting.key}"
|
1598
|
-
class="settings-input form-control"
|
1599
|
-
value="${setting.value !== null ? setting.value : ''}"
|
1600
|
-
${!setting.editable ? 'disabled' : ''}
|
1601
|
-
>
|
1602
|
-
`;
|
1603
|
-
}
|
1597
|
+
// Default to text input
|
1598
|
+
inputElement = `
|
1599
|
+
<input type="${setting.ui_element === 'password' ? 'password' : 'text'}"
|
1600
|
+
id="${settingId}" name="${setting.key}"
|
1601
|
+
class="settings-input form-control"
|
1602
|
+
value="${setting.value !== null ? setting.value : ''}"
|
1603
|
+
${!setting.editable ? 'disabled' : ''}
|
1604
|
+
>
|
1605
|
+
`;
|
1604
1606
|
break;
|
1605
1607
|
}
|
1606
1608
|
|
@@ -1945,6 +1947,22 @@
|
|
1945
1947
|
}, 1500);
|
1946
1948
|
}
|
1947
1949
|
|
1950
|
+
/**
|
1951
|
+
* Validates user-specified JSON data and shows and error if it is not
|
1952
|
+
* valid JSON.
|
1953
|
+
* @param content The content to validate.
|
1954
|
+
* @return True if the content is valid.
|
1955
|
+
*/
|
1956
|
+
function validateJsonContent(content) {
|
1957
|
+
try {
|
1958
|
+
JSON.parse(content);
|
1959
|
+
return true;
|
1960
|
+
} catch (e) {
|
1961
|
+
showMessage('Setting value must be valid JSON.', 'error', 5000);
|
1962
|
+
return false;
|
1963
|
+
}
|
1964
|
+
}
|
1965
|
+
|
1948
1966
|
/**
|
1949
1967
|
* Submit settings data to the API
|
1950
1968
|
* @param {Object} formData - The settings to save
|
@@ -1962,6 +1980,11 @@
|
|
1962
1980
|
} else if (sourceElement.classList.contains('json-property-control')) {
|
1963
1981
|
// For JSON property controls, use the property item
|
1964
1982
|
loadingContainer = sourceElement.closest('.json-property-item') || sourceElement;
|
1983
|
+
} else if (sourceElement.classList.contains('json-content')) {
|
1984
|
+
// For JSON content, validate it before saving.
|
1985
|
+
if (!validateJsonContent(sourceElement.value)) {
|
1986
|
+
return;
|
1987
|
+
}
|
1965
1988
|
} else {
|
1966
1989
|
// For other inputs, use the form-group or settings-item
|
1967
1990
|
loadingContainer = sourceElement.closest('.form-group') ||
|
@@ -3688,16 +3711,16 @@
|
|
3688
3711
|
|
3689
3712
|
return false;
|
3690
3713
|
}
|
3691
|
-
|
3714
|
+
|
3692
3715
|
if (providerUpper === 'OPENAI_ENDPOINT') {
|
3693
3716
|
if (model.provider && model.provider.toUpperCase() === 'OPENAI_ENDPOINT') {
|
3694
3717
|
return true;
|
3695
3718
|
}
|
3696
|
-
|
3719
|
+
|
3697
3720
|
if (model.label && model.label.toLowerCase().includes('custom')) {
|
3698
3721
|
return true;
|
3699
3722
|
}
|
3700
|
-
|
3723
|
+
|
3701
3724
|
return false;
|
3702
3725
|
}
|
3703
3726
|
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.4.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
|
{local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/api/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/README.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{local_deep_research-0.4.3 → local_deep_research-0.4.4}/src/local_deep_research/benchmarks/cli.py
RENAMED
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
|