Only call this after the user has explicitly confirmed they own or have
rights to copy the source website's content -- never assume.
confirm_rights MUST be a literal JSON boolean (true/false). Measured in
review: FastMCP validates tool arguments through pydantic BEFORE this
function body ever runs, and pydantic's default (lax) bool coercion
silently turns 1/"yes"/"true"/"on"/etc. into a real True -- at which
point tool_logic's own strict `is not True` check can no longer tell the
difference. StrictBool rejects anything that isn't a genuine boolean at
that same validation boundary, closing the gap instead of relying on a
downstream check that a lax type already defeated.
Imports an existing website by URL: scrapes 1-8 pages (pass page_urls
manually, or crawl_domain to auto-discover up to max_pages same-domain
pages) and downloads/compresses their images. No AI rebuild happens yet.
This is step 1 of 2 -- pass the returned job_guid to copy_website_rebuild
next.
Connector