§
    PL
j¿  ã                  ó*   — d Z ddlmZ ddlmZ dd„ZdS )	uª  Firecrawl web search + extract plugin â€” bundled, auto-loaded.

Largest single plugin in this PR. Captures everything the previous
inline implementation in tools/web_tools.py did:

  - Lazy import of the firecrawl SDK (~200ms cold-start cost) via a
    callable proxy that defers the actual import to first use.
  - Dual client paths: direct (FIRECRAWL_API_KEY / FIRECRAWL_API_URL)
    OR Nous-hosted tool-gateway routing for subscribers, with
    web.use_gateway as the tie-breaker.
  - Per-URL scrape loop with 60s timeout, SSRF re-check after redirect,
    website-policy gating, and format-aware content selection.
  - Robust response shape normalization across SDK / direct API /
    gateway variants (search returns differ by transport).

The plugin re-exports ``Firecrawl`` (the lazy proxy) and
``check_firecrawl_api_key`` for backward-compatibility with tests and
external code that imports those names from ``tools.web_tools``.
é    )Úannotations)ÚFirecrawlWebSearchProviderÚreturnÚNonec                óH   — |                       t          ¦   «         ¦  «         dS )z8Register the Firecrawl provider with the plugin context.N)Úregister_web_search_providerr   )Úctxs    úB/home/kuhnn/.hermes/hermes-agent/plugins/web/firecrawl/__init__.pyÚregisterr      s#   € à×$Ò$Õ%?Ñ%AÔ%AÑBÔBÐBÐBÐBó    N)r   r   )Ú__doc__Ú
__future__r   Úplugins.web.firecrawl.providerr   r   © r   r
   ú<module>r      sY   ððð ð( #Ð "Ð "Ð "Ð "Ð "à EÐ EÐ EÐ EÐ EÐ EðCð Cð Cð Cð Cð Cr   