+
    Vi@                        ^ RI HtHtHtHtHtHt ^ RIt^RIH	t	H
t
 ^RIHt ^RIHt ^RIHt RRRRR	RR
RRRRR/R R lltR R ltRRRRR	RR
RRRRR/R R lltR R ltR^RR/R R lltRRRRR^RRR	RR
RRRRR/R R lltR R ltR# )    )AnyDictListLiteralOptionalUnionN)AgentResponseAgentWebhookConfig)
HttpClient)handle_response_error)_normalize_schemaschemaintegrationmax_creditsstrict_constrain_to_urlsmodelwebhookc                   V ^8  d   QhR\         \        \        ,          ,          R\        R\         \        ,          R\         \        ,          R\         \        ,          R\         \
        ,          R\         \        R
,          ,          R\         \        \        \        3,          ,          R	\        \        \        3,          /	# )   urlspromptr   r   r   r   r   r   returnzspark-1-prozspark-1-mini)
r   r   strr   intboolr   r   r
   r   )formats   "Y/home/ubuntu/hermes-agent/venv/lib/python3.14/site-packages/firecrawl/v2/methods/agent.py__annotate__r   
   s     % %
49
% % SM	%
 #% #% 'tn% G9:;% eC!3345% 
#s(^%    c                   / pV e   WR&   WR&   Ve7   \        V4      p	V	e   WR&   M"\        R\        V4      P                   R24      hVe<   \	        V4      P                  4       '       d   \	        V4      P                  4       VR&   Ve   V^ 8  d   WHR&   Ve   V'       d   WXR&   Ve   WhR	&   Ve2   \        V\        4      '       d   WxR
&   V# VP                  RR7      VR
&   V# )Nr   r   r   zInvalid schema type: zN. Schema must be a dict, Pydantic BaseModel class, or Pydantic model instance.r   
maxCreditsstrictConstrainToURLsr   r   T)exclude_none)r   
ValueErrortype__name__r   strip
isinstance
model_dump)
r   r   r   r   r   r   r   r   bodynormalized_schemas
   &$$$$$$$  r   _prepare_agent_requestr-   
   s    DVN-f5(.N'V(=(='> ?_ _  3{#3#9#9#;#;!+.446];?(\+0H(@$%Wgs##%O K &00d0CDOKr    c                t    V ^8  d   QhR\         \        \        3,          R\         \        \        3,          /# )r   payloadr   )r   r   r   )r   s   "r   r   r   2   s*      tCH~ $sCx. r    c                     \        V 4      pR V9   d   RV9  d   VR ,          VR&   RV9   d   RV9  d   VR,          VR&   V# )	expiresAt
expires_atcreditsUsedcredits_used)dict)r/   outs   & r   !_normalize_agent_response_payloadr7   2   sL    
w-Ccl#5,Lc 9!-0NJr    c                p   V ^8  d   QhR\         R\        \        \        ,          ,          R\        R\        \        ,          R\        \        ,          R\        \
        ,          R\        \        ,          R\        \        R,          ,          R	\        \        \        \        3,          ,          R
\        /
# )r   clientr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r	   )r   s   "r   r   r   ;   s     $ $$
49
$ 	$
 SM$ #$ #$ 'tn$ G9:;$ eC!3345$ $r    c                    \        VVVVVVVVR 7      p	V P                  RV	4      p
V
P                  '       g   \        V
R4       \	        V
P                  4       4      p\        R/ VB # )r   r   r   r   r   r   r   z	/v2/agentagent )r-   postokr   r7   jsonr	   )r9   r   r   r   r   r   r   r   r   r+   respr/   s   &&$$$$$$$   r   start_agentrC   ;   si     "!9	D ;;{D)D777dG,/		<G#7##r    c                <    V ^8  d   QhR\         R\        R\        /# r   r9   job_idr   )r   r   r	   )r   s   "r   r   r   X   s!     $ $Z $ $ $r    c                     V P                  R V 24      pVP                  '       g   \        VR4       \        VP	                  4       4      p\        R/ VB # )
/v2/agent/zagent-statusr>   )getr@   r   r7   rA   r	   )r9   rF   rB   r/   s   &&  r   get_agent_statusrJ   X   sH    ::
6(+,D777dN3/		<G#7##r    poll_intervaltimeoutc          
      j    V ^8  d   QhR\         R\        R\        R\        \        ,          R\        /# )r   r9   rF   rK   rL   r   )r   r   r   r   r	   )r   s   "r   r   r   `   s>     * *** 	*
 c]* *r    c                    \         P                   ! 4       p \        W4      pVP                  R9   d   V# Ve$   \         P                   ! 4       V,
          V8  d   V# \         P                  ! \	        ^V4      4       Kh  )T)	completedfailed	cancelled)timerJ   statussleepmax)r9   rF   rK   rL   start_tsrS   s   &&$$  r   
wait_agentrW   `   s^     yy{H
!&1==@@MDIIK($:g#EM

3q-()r    c                   V ^8  d   QhR\         R\        \        \        ,          ,          R\        R\        \        ,          R\        \        ,          R\
        R\        \
        ,          R\        \
        ,          R	\        \        ,          R
\        \        R,          ,          R\        \        \        \        3,          ,          R\        /# )r   r9   r   r   r   r   rK   rL   r   r   r   r   r   r   r:   )r   s   "r   r   r   q   s     T TT
49
T 	T
 SMT #T T c]T #T 'tnT G9:;T eC!3345T Tr    c       	         r    \        V VVVVVVV	V
R 7	      p\        VRR4      pV'       g   V# \        WWVR7      # )r<   idN)rK   rL   )rC   getattrrW   )r9   r   r   r   r   rK   rL   r   r   r   r   startedrF   s   &&$$$$$$$$$  r   r=   r=   q   sN     !9
G WdD)FfMSSr    c                <    V ^8  d   QhR\         R\        R\        /# rE   )r   r   r   )r   s   "r   r   r      s!     - - -S -T -r    c                    V P                  RV 24      pVP                  '       g   \        VR4       VP                  4       P	                  RR4      # )z
Cancel a running agent job.

Args:
    client: HTTP client instance
    job_id: ID of the agent job to cancel

Returns:
    bool: True if the agent was cancelled, False otherwise

Raises:
    Exception: If the cancellation fails
rH   zcancel agentsuccessF)deleter@   r   rA   rI   )r9   rF   rB   s   && r   cancel_agentra      sC     ==:fX./D777dN399;??9e,,r    )typingr   r   r   r   r   r   rR   typesr	   r
   utils.http_clientr   utils.error_handlerr   utils.validationr   r-   r7   rC   rJ   rW   r=   ra   r>   r    r   <module>rg      s&   < <  5 * 7 0% !	%
 "&% "&% 04% ?C% 9=%P$
 !$ "&$ "&$ 04$ ?C$ 9=$:$* 	*
 "*"T
 !T "&T T "T "&T 04T ?CT 9=T>-r    