
    i                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZmZ ddlmZ ddddZej         G d d                      ZdS )    )annotationsN)	async_libexecution_libmiddleware_libnet
server_libstep_lib   )Inngest)StatusTimeout)UnstubbedStepError)
step_stubsfninngest.Function[typing.Any]event#inngest.Event | list[inngest.Event]clientr   r   dict[str, object] | Nonereturn_Resultc               	   t          |t                    s|g}n"t          |          dk    rt          d          |i }t	          j                    }g }i }t          t                               }d}d}	| j        j	        | j        j	        }		 d}
t          |          dk    r|
                                }
t          j                                        }t          j        t          j        |ddt          j        |                    |d         ||d	
          }t$          j                            |i |          }t*          j                            |          }| j        rt3          j        |j        j        |d         |t+          j                    ||j        j        t+          j        |t3          j         ||||
|          |t+          j!                    |
                    }tE          j#                    }|tI          j%                    }|&                    | '                    ||| j(        |                    }nt3          j)        |j        j        |d         |t+          j*                    ||j        j        t+          j+        |t3          j,        ||||
|          |t+          j!                    |
                    }| -                    ||| j(        |          }|j.        r.||	k    r!t_          |j.        dt`          j1                  S |dz  }|j2        r|j2        D ]}|j3        s|j.        r/||	k    r#t_          |j.        dt`          j1                  c S |dz  }A|j3        j4        |v rL||j3        j4                 }|tj          u rd}|||j3        j(        <   |6                    |j3        j(                   |j3        j7        t          j8        j9        u r |:                    |j3        j(                   |j3        j7        t          j8        j;        u r0d||j3        j(        <   |6                    |j3        j(                   %|j3        j7        t          j8        j<        u r5|j=        ||j3        j(        <   |6                    |j3        j(                   wt}          |j3        j4                  )t_          d|j=        t`          j?                  S )z
    Trigger a function.

    Args:
    ----
        fn: Function to trigger.
        event: Triggering event.
        client: Mock Inngest client.
        step_stubs: Static step stubs. Keys are step IDs and values are stubs.
    r   zMust provide at least 1 eventN   Ttest)stack)attemptdisable_immediate_executionrun_idr   F)ctxr   eventsstepsuse_api)r   r   r    grouploggerr   step)erroroutputstatusr
   )@
isinstancelistlen	Exceptionr   ServerTimingssetstr_optsretriespopunittestmockMockr   ServerRequestServerRequestCtxServerRequestCtxStackr   MiddlewareManagerfrom_clientr	   	StepMemosfrom_rawis_handler_asyncr   Contextr   r   Groupr   StepExecutionV0StepIDCounterr   get_event_loopasyncionew_event_looprun_until_completecallidContextSync	GroupSyncStepSyncExecutionV0Sync	call_syncr&   r   r   FAILEDmultir%   display_namer   appendopOpcodePLANNEDaddSLEEPSTEP_RUNr'   r   	COMPLETED)r   r   r   r   timingsr   r!   plannedr   max_attemptstep_idr$   request
middlewarememosr   loopresr%   stubs                       `/root/projects/qq-shell/venv/lib/python3.11/site-packages/inngest/experimental/mocked/trigger.pytriggerrd      s   $ eT"" 9	Uq7888
!!GE!E#hjjGGK	x#h&R
"w<<!kkmmG##%%*+,0 6UCCC	   (
 
 
 $5AA
 

 "++E22  ?	'+Ahn&&{)]!-"  *,,   C, +--D|-//))E	  CC  ++Ah(**{)&!1"  *,,   C, ,,	 C 9 		+%%)!=    qLG9 %		 "E "Ey : 	+--&"&*#'#)=         qLG9)Z77%di&<=Dw#*.E$),'LL...9<:#4#<<<KK	----Y\Z%6%<<<*.E$),'LL....Y\Z%6%???*.+E$),'LL....,TY-CDDD:#
 
 
 	
    c                  .    e Zd ZU ded<   ded<   ded<   dS )r   zException | Noner&   objectr'   r   r(   N)__name__
__module____qualname____annotations__ re   rc   r   r      s.         NNNNNNNNre   )
r   r   r   r   r   r   r   r   r   r   )
__future__r   rD   dataclassestypingunittest.mockr3   inngestinngest._internalr   r   r   r   r   r	   r   r   constsr   r   errorsr   rd   	dataclassr   rl   re   rc   <module>rv      sD   " " " " " "                                 # # # # # # # # & & & & & & ,0v
 v
 v
 v
 v
 v
r          re   