LICENSE
README.md
pyproject.toml
src/web_scraper_toolkit/__init__.py
src/web_scraper_toolkit/cli.py
src/web_scraper_toolkit.egg-info/PKG-INFO
src/web_scraper_toolkit.egg-info/SOURCES.txt
src/web_scraper_toolkit.egg-info/dependency_links.txt
src/web_scraper_toolkit.egg-info/entry_points.txt
src/web_scraper_toolkit.egg-info/requires.txt
src/web_scraper_toolkit.egg-info/top_level.txt
src/web_scraper_toolkit/_cli/__init__.py
src/web_scraper_toolkit/_cli/arguments.py
src/web_scraper_toolkit/_cli/bootstrap.py
src/web_scraper_toolkit/_cli/runner.py
src/web_scraper_toolkit/browser/__init__.py
src/web_scraper_toolkit/browser/config.py
src/web_scraper_toolkit/browser/domain_identity.py
src/web_scraper_toolkit/browser/host_profiles.py
src/web_scraper_toolkit/browser/host_profiles_cli.py
src/web_scraper_toolkit/browser/playwright_crawler.py
src/web_scraper_toolkit/browser/playwright_handler.py
src/web_scraper_toolkit/browser/px_solver.py
src/web_scraper_toolkit/browser/serp_native.py
src/web_scraper_toolkit/browser/solver.py
src/web_scraper_toolkit/browser/_host_profiles/__init__.py
src/web_scraper_toolkit/browser/_host_profiles/constants.py
src/web_scraper_toolkit/browser/_host_profiles/sanitizers.py
src/web_scraper_toolkit/browser/_host_profiles/store.py
src/web_scraper_toolkit/browser/_playwright_handler/__init__.py
src/web_scraper_toolkit/browser/_playwright_handler/artifacts.py
src/web_scraper_toolkit/browser/_playwright_handler/constants.py
src/web_scraper_toolkit/browser/_playwright_handler/init_state.py
src/web_scraper_toolkit/browser/_playwright_handler/lifecycle.py
src/web_scraper_toolkit/browser/_playwright_handler/native_attempts.py
src/web_scraper_toolkit/browser/_playwright_handler/page_ops.py
src/web_scraper_toolkit/browser/_playwright_handler/routing.py
src/web_scraper_toolkit/browser/_playwright_handler/serp_attempts.py
src/web_scraper_toolkit/browser/_playwright_handler/strategy_support.py
src/web_scraper_toolkit/browser/_px_solver/__init__.py
src/web_scraper_toolkit/browser/_px_solver/hold.py
src/web_scraper_toolkit/core/__init__.py
src/web_scraper_toolkit/core/diagnostics.py
src/web_scraper_toolkit/core/file_utils.py
src/web_scraper_toolkit/core/http_client.py
src/web_scraper_toolkit/core/input.py
src/web_scraper_toolkit/core/logger.py
src/web_scraper_toolkit/core/runtime.py
src/web_scraper_toolkit/core/script_diagnostics.py
src/web_scraper_toolkit/core/user_agents.py
src/web_scraper_toolkit/core/utils.py
src/web_scraper_toolkit/core/verify_deps.py
src/web_scraper_toolkit/core/_script_diagnostics/__init__.py
src/web_scraper_toolkit/core/_script_diagnostics/commands.py
src/web_scraper_toolkit/core/_script_diagnostics/parsing.py
src/web_scraper_toolkit/core/automation/__init__.py
src/web_scraper_toolkit/core/automation/forms.py
src/web_scraper_toolkit/core/automation/retry.py
src/web_scraper_toolkit/core/automation/utilities.py
src/web_scraper_toolkit/core/content/__init__.py
src/web_scraper_toolkit/core/content/chunking.py
src/web_scraper_toolkit/core/content/tokens.py
src/web_scraper_toolkit/core/state/__init__.py
src/web_scraper_toolkit/core/state/cache.py
src/web_scraper_toolkit/core/state/history.py
src/web_scraper_toolkit/core/state/session.py
src/web_scraper_toolkit/crawler/__init__.py
src/web_scraper_toolkit/crawler/config.py
src/web_scraper_toolkit/crawler/engine.py
src/web_scraper_toolkit/crawler/frontier.py
src/web_scraper_toolkit/crawler/politeness.py
src/web_scraper_toolkit/crawler/state.py
src/web_scraper_toolkit/diagnostics/__init__.py
src/web_scraper_toolkit/diagnostics/challenge_evidence.py
src/web_scraper_toolkit/diagnostics/fetch_outcome.py
src/web_scraper_toolkit/diagnostics/fixtures.py
src/web_scraper_toolkit/parsers/__init__.py
src/web_scraper_toolkit/parsers/config.py
src/web_scraper_toolkit/parsers/content.py
src/web_scraper_toolkit/parsers/discovery.py
src/web_scraper_toolkit/parsers/html_to_markdown.py
src/web_scraper_toolkit/parsers/scraping_tools.py
src/web_scraper_toolkit/parsers/utils.py
src/web_scraper_toolkit/parsers/extraction/__init__.py
src/web_scraper_toolkit/parsers/extraction/contacts.py
src/web_scraper_toolkit/parsers/extraction/links.py
src/web_scraper_toolkit/parsers/extraction/media.py
src/web_scraper_toolkit/parsers/extraction/metadata.py
src/web_scraper_toolkit/parsers/search/__init__.py
src/web_scraper_toolkit/parsers/search/search.py
src/web_scraper_toolkit/parsers/search/serp_parser.py
src/web_scraper_toolkit/parsers/sitemap/__init__.py
src/web_scraper_toolkit/parsers/sitemap/detection.py
src/web_scraper_toolkit/parsers/sitemap/fetching.py
src/web_scraper_toolkit/parsers/sitemap/models.py
src/web_scraper_toolkit/parsers/sitemap/parsing.py
src/web_scraper_toolkit/parsers/sitemap/tools.py
src/web_scraper_toolkit/playbook/__init__.py
src/web_scraper_toolkit/playbook/config.py
src/web_scraper_toolkit/playbook/models.py
src/web_scraper_toolkit/proxie/__init__.py
src/web_scraper_toolkit/proxie/config.py
src/web_scraper_toolkit/proxie/manager.py
src/web_scraper_toolkit/proxie/models.py
src/web_scraper_toolkit/scraper/__init__.py
src/web_scraper_toolkit/scraper/aiohttp.py
src/web_scraper_toolkit/server/__init__.py
src/web_scraper_toolkit/server/config.py
src/web_scraper_toolkit/server/jobs.py
src/web_scraper_toolkit/server/mcp_server.py
src/web_scraper_toolkit/server/path_safety.py
src/web_scraper_toolkit/server/handlers/__init__.py
src/web_scraper_toolkit/server/handlers/config.py
src/web_scraper_toolkit/server/handlers/extraction.py
src/web_scraper_toolkit/server/handlers/interactive.py
src/web_scraper_toolkit/server/handlers/playbook.py
src/web_scraper_toolkit/server/handlers/scraping.py
src/web_scraper_toolkit/server/handlers/search.py
src/web_scraper_toolkit/server/handlers/_interactive/__init__.py
src/web_scraper_toolkit/server/handlers/_interactive/controls.py
src/web_scraper_toolkit/server/mcp_tools/__init__.py
src/web_scraper_toolkit/server/mcp_tools/browser_interactive.py
src/web_scraper_toolkit/server/mcp_tools/content.py
src/web_scraper_toolkit/server/mcp_tools/diagnostics.py
src/web_scraper_toolkit/server/mcp_tools/discovery.py
src/web_scraper_toolkit/server/mcp_tools/forms.py
src/web_scraper_toolkit/server/mcp_tools/management.py
src/web_scraper_toolkit/server/mcp_tools/scraping.py
src/web_scraper_toolkit/server/mcp_tools/_management/__init__.py
src/web_scraper_toolkit/server/mcp_tools/_management/config_tools.py
src/web_scraper_toolkit/server/mcp_tools/_management/context.py
src/web_scraper_toolkit/server/mcp_tools/_management/job_tools.py
src/web_scraper_toolkit/server/mcp_tools/_management/state_tools.py
tests/test_async_jobs.py
tests/test_basics.py
tests/test_challenge_evidence.py
tests/test_challenge_fixture_replay.py
tests/test_cli.py
tests/test_cloudflare_bypass.py
tests/test_contacts.py
tests/test_discovery.py
tests/test_feature_coverage.py
tests/test_fetch_outcome_arbitration.py
tests/test_fetch_result_api.py
tests/test_host_profiles.py
tests/test_host_profiles_cli.py
tests/test_html_to_markdown.py
tests/test_interactive_session.py
tests/test_mcp_server.py
tests/test_multimodal.py
tests/test_performance_budget.py
tests/test_playwright_manager.py
tests/test_px_solver.py
tests/test_remote_mcp_integration.py
tests/test_runtime_config.py
tests/test_scraping_tools.py
tests/test_script_diagnostics.py
tests/test_serp_background_tasks.py
tests/test_serp_native.py
tests/test_serp_parser.py
tests/test_sitemap_discovery.py