
    i	                    ,    d Z ddlmZ ddlmZmZ ddZy)u  skills/buscador_paralelo.py — BUSCAR (estación 4)

4 buscadores paralelos (FB×2 + GetHookd×2) coordinados via shared_state.json.
Cada uno: BUCLE buscar → descargar → transcribir → verificar match.
Min 2 candidatos válidos por buscador, máx 5 reintentos.

Skill canónica: buscador-paralelo-fb-gethookd.

Backend: combinado:
  - Para FB: skill apify-fb-ads (CLI / Python ya en stack)
  - Para GetHookd: API + Playwright fallback
  - Para verify match: claude CLI subprocess (LLM)

NOTA STAGE 1: implementación stub que escribe estructura compatible. Implementación real
de Apify/GetHookd/whisper-per-candidate viene en Stage 3.
    )annotations)SkillContextSkillResultc                b   |j                         }|j                  di       j                  d      xs i }|st        ddg      S |j                  dg d      }|j                  dg       }|j                  d	g       }g d
}g }t        |      D ];  \  }	}
t	        d      D ](  }|j                  |
d|
 d| d|
 d| dg ddd       * = |j                  d||j                  rt        |j                        nd |||t        |      |dddd       t        ddt        |      iddd      S )NsectionsinterpretarFu;   caja.interpretar vacío — INTERPRETAR debió correr antes)okerrorscascada_paises)ESUKUSAAU
queries_fbqueries_gethookd)zbuscador-fb-1zbuscador-fb-2zbuscador-gethookd-1zbuscador-gethookd-2   STAGE1_STUB__zhttps://example.invalid//g333333?)	awarenessdeseoavatarT)agent_idvideo_id	video_urlmatch_scorematch_fields_passed_stubbuscaruY   STAGE 1 stub · Stage 3 implementa apify-fb-ads + GetHookd + whisper-per-candidate reales)
agents_runshared_state_pathr   queries_fb_plannedqueries_gh_plannedcandidates_totalcandidates_validatednotereplacebuscadores_x4)modeactorr$   zStage 3)stubreal_impl_pending)r	   outputmetadata)
	read_cajagetr   	enumeraterangeappendwrite_sectionr!   strlen)inputscontextcajainterpcascadar   
queries_ghagents
candidatesiagjs               IC:\Users\ferna\proyecto cero\_factory_3d_demo\skills\buscador_paralelo.pyrunrC      s`   DXXj"%))-8>BFe-j,klljj)+DEGL"-J.3J ^FJ6"2qA*2$as37t1QC@#'G   # (?F?X?XS!:!:;^b!((
O *k	% _  	. $(:C
O'L)-I NP P    N)r7   dictr8   r   returnr   )__doc__
__future__r   skills._libr   r   rC    rD   rB   <module>rK      s     # 1#PrD   