
    _j                        S SK Jr  S SKJrJrJr  SSKJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  SSKJr  SSKJr  \\	\
\\\\\\\\\\\\\\\4   r " S S\5      r " S	 S
\5      r g)    )annotations)ListOptionalUnion   )	EventTypeListEventsResponseWebsetCreatedEventWebsetDeletedEventWebsetIdleEventWebsetPausedEventWebsetItemCreatedEventWebsetItemEnrichedEventWebsetSearchCreatedEventWebsetSearchUpdatedEventWebsetSearchCanceledEventWebsetSearchCompletedEventImportCreatedEventImportCompletedEventMonitorCreatedEventMonitorUpdatedEventMonitorDeletedEventMonitorRunCreatedEventMonitorRunCompletedEvent)WebsetsBaseClient)WebsetsAsyncBaseClientc                  R   ^  \ rS rSrSrU 4S jrSSSS.   S	S jjrS
S jrSrU =r	$ )EventsClient2   zClient for managing Events.c                $   > [         TU ]  U5        g Nsuper__init__selfclient	__class__s     Q/home/rurouni/.local/lib/python3.13/site-packages/exa_py/websets/events/client.pyr$   EventsClient.__init__5            Ncursorlimittypesc                   0 nUb  XS'   Ub  X$S'   Ub3  U Vs/ s H"  n[        US5      (       a  UR                  OUPM$     snUS'   U R                  SUSS9n[        R                  " U5      $ s  snf )  List all Events.

Args:
    cursor (str, optional): The cursor to paginate through the results.
    limit (int, optional): The number of results to return.
    types (List[EventType], optional): The types of events to filter by.

Returns:
    ListEventsResponse: List of events.
r.   r/   valuer0   
/v0/eventsGETparamsmethodhasattrr3   requestr	   model_validater&   r.   r/   r0   r7   tresponses          r)   listEventsClient.list8   s     %8#7ONSTe'!W*=*=qww1DeTF7O<<VE<J!00:: Us   )A.c                   U R                  SU 3SS9nUR                  S5      n0 S[        _S[        _S[        _S[
        _S	[        _S
[        _S[        _S[        _S[        _S[        _S[        _S[        _S[        _S[        _S[         _S["        _S[$        _nUR                  U5      nU(       a  UR'                  U5      $ UR)                  5        H  n UR'                  U5      s  $    [-        SU 35      e! [*         a     M4  f = f)hGet an Event by ID.

Args:
    id (str): The ID of the Event.

Returns:
    Event: The retrieved event.
/v0/events/r5   r8   typewebset.createdwebset.deletedwebset.idlewebset.pausedwebset.item.createdwebset.item.enrichedwebset.search.createdwebset.search.updatedwebset.search.canceledwebset.search.completedimport.createdimport.completedmonitor.createdmonitor.updatedmonitor.deletedmonitor.run.createdmonitor.run.completedUnknown event type: r;   getr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r<   values	Exception
ValueErrorr&   idr?   
event_typeevent_type_mapevent_classs         r)   rZ   EventsClient.getP   s    <<+bT 25<A \\&)

0
0
 ?
 .	

 "#9
 #$;
 $%=
 $%=
 %&?
 &'A
 0
  4
 2
 2
 2
  "#9!
" $%=#
( %((4--h77  .446&55h??  7 3J<@AA ! s   C>>
DD r.   zOptional[str]r/   zOptional[int]r0   zOptional[List[EventType]]returnr	   r_   strrf   Event
__name__
__module____qualname____firstlineno____doc__r$   r@   rZ   __static_attributes____classcell__r(   s   @r)   r   r   2   s6    %! /3404;-;9K;00B 0Br,   r   c                  R   ^  \ rS rSrSrU 4S jrSSSS.   S	S jjrS
S jrSrU =r	$ )AsyncEventsClient   z!Async client for managing Events.c                $   > [         TU ]  U5        g r!   r"   r%   s     r)   r$   AsyncEventsClient.__init__   r+   r,   Nr-   c                 #    0 nUb  XS'   Ub  X$S'   Ub3  U Vs/ s H"  n[        US5      (       a  UR                  OUPM$     snUS'   U R                  SUSS9I Sh  vN n[        R                  " U5      $ s  snf  N7f)	r2   Nr.   r/   r3   r0   r4   r5   r6   r9   r=   s          r)   r@   AsyncEventsClient.list   s      %8#7ONSTe'!W*=*=qww1DeTF7Ol6%PP!00:: UPs   A?)A8A?A= A?c                :  #    U R                  SU 3SS9I Sh  vN nUR                  S5      n0 S[        _S[        _S[        _S	[
        _S
[        _S[        _S[        _S[        _S[        _S[        _S[        _S[        _S[        _S[        _S[         _S["        _S[$        _nUR                  U5      nU(       a  UR'                  U5      $ UR)                  5        H  n UR'                  U5      s  $    [-        SU 35      e N! [*         a     M6  f = f7f)rC   rD   r5   rE   NrF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r^   s         r)   rZ   AsyncEventsClient.get   s     B4&8GG \\&)

0
0
 ?
 .	

 "#9
 #$;
 $%=
 $%=
 %&?
 &'A
 0
  4
 2
 2
 2
  "#9!
" $%=#
( %((4--h77  .446&55h??  7 3J<@AAO HH ! s4   DDC
D%D
5D

DDDDrd   re   rg   rj   rr   s   @r)   rt   rt      s7    +! 59QU04;-;9K;00B 0Br,   rt   N)!
__future__r   typingr   r   r   r0   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	core.baser   core.async_baser   ri   r   rt   rd   r,   r)   <module>r      s    " ( (     * * 4 	!	(NB$ NBbNB. NBr,   