o
    i[N                     @   sH   d dl Z d dlmZmZ d dlmZ G dd de jZG dd dZdS )    N)AnyMutableSequence)Payloadc                   @   sD   e Zd ZdZejdeddfddZejdee ddfdd	Z	dS )
VisitorFunctionszeSet of functions which can be called by the visitor.
    Allows handling payloads as a sequence.
    payloadreturnNc                       t  )z*Called when encountering a single payload.NotImplementedError)selfr    r   `/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/temporalio/bridge/_visitor.pyvisit_payload      zVisitorFunctions.visit_payloadpayloadsc                    r   )z4Called when encountering multiple payloads together.r	   )r   r   r   r   r   visit_payloads   r   zVisitorFunctions.visit_payloads)
__name__
__module____qualname____doc__abcabstractmethodr   r   r   r   r   r   r   r   r      s    r   c                   @   s  e Zd ZdZddddedefddZded	ed
dfddZdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Z d>d? Z!d@dA Z"dBdC Z#dDdE Z$dFdG Z%dHdI Z&dJdK Z'dLdM Z(dNdO Z)dPdQ Z*dRdS Z+dTdU Z,dVdW Z-dXdY Z.dZd[ Z/d\d] Z0d^d_ Z1d`da Z2dbdc Z3ddde Z4dfdg Z5dhdi Z6djdk Z7dldm Z8dndo Z9dpdq Z:drds Z;dS )tPayloadVisitorz[A visitor for payloads.
    Applies a function to every payload in a tree of messages.
    Fskip_search_attributesskip_headersr   r   c                C   s   || _ || _dS )zCreates a new payload visitor.Nr   )r   r   r   r   r   r   __init__   s   
zPayloadVisitor.__init__fsrootr   Nc                    sP   d|j jdd }t| |d}|dur|||I dH  dS td|j j )z6Visits the given root message with the given function._visit_._NzUnknown root message type: )
DESCRIPTOR	full_namereplacegetattr
ValueError)r   r   r   method_namemethodr   r   r   visit$   s   zPayloadVisitor.visitc                       | |I d H  d S N)r   r   r   or   r   r   %_visit_temporal_api_common_v1_Payload-      z4PayloadVisitor._visit_temporal_api_common_v1_Payloadc                    s   | |jI d H  d S r+   )r   r   r,   r   r   r   &_visit_temporal_api_common_v1_Payloads0   s   z5PayloadVisitor._visit_temporal_api_common_v1_Payloadsc                    r*   r+   )r   r,   r   r   r   _visit_payload_container3   r/   z'PayloadVisitor._visit_payload_containerc                    (   | dr| ||jI d H  d S d S NdetailsHasFieldr0   r4   r,   r   r   r   5_visit_temporal_api_failure_v1_ApplicationFailureInfo6      
zDPayloadVisitor._visit_temporal_api_failure_v1_ApplicationFailureInfoc                    r2   Nlast_heartbeat_detailsr6   r0   r:   r,   r   r   r   1_visit_temporal_api_failure_v1_TimeoutFailureInfo:      
z@PayloadVisitor._visit_temporal_api_failure_v1_TimeoutFailureInfoc                    r2   r3   r5   r,   r   r   r   2_visit_temporal_api_failure_v1_CanceledFailureInfo@   r8   zAPayloadVisitor._visit_temporal_api_failure_v1_CanceledFailureInfoc                    r2   r9   r;   r,   r   r   r   7_visit_temporal_api_failure_v1_ResetWorkflowFailureInfoD   r=   zFPayloadVisitor._visit_temporal_api_failure_v1_ResetWorkflowFailureInfoc                    s   | dr| ||jI d H  | dr| ||jI d H  | dr0| ||jI d H  d S | drA| ||jI d H  d S | drR| 	||j
I d H  d S | drc| ||jI d H  d S d S )Nencoded_attributescauseapplication_failure_infotimeout_failure_infocanceled_failure_inforeset_workflow_failure_info)r6   r.   r@   &_visit_temporal_api_failure_v1_FailurerA   r7   rB   r<   rC   r>   rD   r?   rE   r,   r   r   r   rF   J   s,   





z5PayloadVisitor._visit_temporal_api_failure_v1_Failurec                    s(   |j  D ]}| ||I d H  qd S r+   )fieldsvaluesr.   r   r   r-   vr   r   r   "_visit_temporal_api_common_v1_Memo`   s   z1PayloadVisitor._visit_temporal_api_common_v1_Memoc                    s2   | j rd S |j D ]}| ||I d H  qd S r+   )r   indexed_fieldsrH   r.   rI   r   r   r   ._visit_temporal_api_common_v1_SearchAttributesd   s   z=PayloadVisitor._visit_temporal_api_common_v1_SearchAttributesc                    s   |  ||jI d H  | js|j D ]}| ||I d H  q|dr.| ||jI d H  |dr=| 	||j
I d H  |drL| ||jI d H  |dr]| ||jI d H  d S d S )Ncontinued_failurelast_completion_resultmemosearch_attributes)r1   	argumentsr   headersrH   r.   r6   rF   rN   r0   rO   rK   rP   rM   rQ   rI   r   r   r   5_visit_coresdk_workflow_activation_InitializeWorkflowj   s$   




zDPayloadVisitor._visit_coresdk_workflow_activation_InitializeWorkflowc                    F   |  ||jI d H  | js|j D ]}| ||I d H  qd S d S r+   )r1   rR   r   rS   rH   r.   rI   r   r   r   0_visit_coresdk_workflow_activation_QueryWorkflow|      z?PayloadVisitor._visit_coresdk_workflow_activation_QueryWorkflowc                    rU   r+   r1   inputr   rS   rH   r.   rI   r   r   r   1_visit_coresdk_workflow_activation_SignalWorkflow   rW   z@PayloadVisitor._visit_coresdk_workflow_activation_SignalWorkflowc                    r2   Nresultr6   r.   r\   r,   r   r   r   &_visit_coresdk_activity_result_Success   r8   z5PayloadVisitor._visit_coresdk_activity_result_Successc                    r2   Nfailurer6   rF   r`   r,   r   r   r   &_visit_coresdk_activity_result_Failure   r8   z5PayloadVisitor._visit_coresdk_activity_result_Failurec                    r2   r_   ra   r,   r   r   r   +_visit_coresdk_activity_result_Cancellation   r8   z:PayloadVisitor._visit_coresdk_activity_result_Cancellationc                    l   | dr| ||jI d H  d S | dr#| ||jI d H  d S | dr4| ||jI d H  d S d S N	completedfailed	cancelled)r6   r^   rf   rb   rg   rc   rh   r,   r   r   r   1_visit_coresdk_activity_result_ActivityResolution      


z@PayloadVisitor._visit_coresdk_activity_result_ActivityResolutionc                    r2   r[   )r6   ri   r\   r,   r   r   r   2_visit_coresdk_workflow_activation_ResolveActivity   r8   zAPayloadVisitor._visit_coresdk_workflow_activation_ResolveActivityc                    r2   r_   ra   r,   r   r   r   N_visit_coresdk_workflow_activation_ResolveChildWorkflowExecutionStartCancelled      
z]PayloadVisitor._visit_coresdk_workflow_activation_ResolveChildWorkflowExecutionStartCancelledc                    r2   )Nrh   )r6   rl   rh   r,   r   r   r   E_visit_coresdk_workflow_activation_ResolveChildWorkflowExecutionStart   s   
zTPayloadVisitor._visit_coresdk_workflow_activation_ResolveChildWorkflowExecutionStartc                    r2   r[   r]   r,   r   r   r   %_visit_coresdk_child_workflow_Success   r8   z4PayloadVisitor._visit_coresdk_child_workflow_Successc                    r2   r_   ra   r,   r   r   r   %_visit_coresdk_child_workflow_Failure   r8   z4PayloadVisitor._visit_coresdk_child_workflow_Failurec                    r2   r_   ra   r,   r   r   r   *_visit_coresdk_child_workflow_Cancellation   r8   z9PayloadVisitor._visit_coresdk_child_workflow_Cancellationc                    rd   re   )r6   ro   rf   rp   rg   rq   rh   r,   r   r   r   1_visit_coresdk_child_workflow_ChildWorkflowResult   rj   z@PayloadVisitor._visit_coresdk_child_workflow_ChildWorkflowResultc                    r2   r[   )r6   rr   r\   r,   r   r   r   @_visit_coresdk_workflow_activation_ResolveChildWorkflowExecution   rm   zOPayloadVisitor._visit_coresdk_workflow_activation_ResolveChildWorkflowExecutionc                    r2   r_   ra   r,   r   r   r   @_visit_coresdk_workflow_activation_ResolveSignalExternalWorkflow   rm   zOPayloadVisitor._visit_coresdk_workflow_activation_ResolveSignalExternalWorkflowc                    r2   r_   ra   r,   r   r   r   G_visit_coresdk_workflow_activation_ResolveRequestCancelExternalWorkflow   rm   zVPayloadVisitor._visit_coresdk_workflow_activation_ResolveRequestCancelExternalWorkflowc                    rU   r+   rX   rI   r   r   r   +_visit_coresdk_workflow_activation_DoUpdate   rW   z:PayloadVisitor._visit_coresdk_workflow_activation_DoUpdatec                    r2   )Nrg   )r6   rF   rg   r,   r   r   r   =_visit_coresdk_workflow_activation_ResolveNexusOperationStart   rm   zLPayloadVisitor._visit_coresdk_workflow_activation_ResolveNexusOperationStartc                    s   | dr| ||jI d H  d S | dr#| ||jI d H  d S | dr4| ||jI d H  d S | drE| ||jI d H  d S d S )Nrf   rg   rh   	timed_out)r6   r.   rf   rF   rg   rh   rx   r,   r   r   r   )_visit_coresdk_nexus_NexusOperationResult   s   



z8PayloadVisitor._visit_coresdk_nexus_NexusOperationResultc                    r2   r[   )r6   ry   r\   r,   r   r   r   8_visit_coresdk_workflow_activation_ResolveNexusOperation   r8   zGPayloadVisitor._visit_coresdk_workflow_activation_ResolveNexusOperationc                    s|  | dr| ||jI d H  d S | dr#| ||jI d H  d S | dr4| ||jI d H  d S | drE| ||jI d H  d S | drV| 	||j
I d H  d S | drg| ||jI d H  d S | drx| ||jI d H  d S | dr| ||jI d H  d S | d	r| ||jI d H  d S | d
r| ||jI d H  d S | dr| ||jI d H  d S d S )Ninitialize_workflowquery_workflowsignal_workflowresolve_activity&resolve_child_workflow_execution_start resolve_child_workflow_execution resolve_signal_external_workflow(resolve_request_cancel_external_workflow	do_updateresolve_nexus_operation_startresolve_nexus_operation)r6   rT   r{   rV   r|   rZ   r}   rk   r~   rn   r   rs   r   rt   r   ru   r   rv   r   rw   r   rz   r   r,   r   r   r   8_visit_coresdk_workflow_activation_WorkflowActivationJob   sX   










zGPayloadVisitor._visit_coresdk_workflow_activation_WorkflowActivationJobc                    $   |j D ]}| ||I d H  qd S r+   )jobsr   rI   r   r   r   5_visit_coresdk_workflow_activation_WorkflowActivation     
zDPayloadVisitor._visit_coresdk_workflow_activation_WorkflowActivationc                    sF   | dr| ||jI d H  | dr!| ||jI d H  d S d S )Nsummaryr4   )r6   r.   r   r4   r,   r   r   r   '_visit_temporal_api_sdk_v1_UserMetadata  s   

z6PayloadVisitor._visit_temporal_api_sdk_v1_UserMetadatac                    B   | j s|j D ]}| ||I d H  q	| ||jI d H  d S r+   r   rS   rH   r.   r1   rR   rI   r   r   r   1_visit_coresdk_workflow_commands_ScheduleActivity$  
   z@PayloadVisitor._visit_coresdk_workflow_commands_ScheduleActivityc                    r2   )Nresponse)r6   r.   r   r,   r   r   r   -_visit_coresdk_workflow_commands_QuerySuccess*  r8   z<PayloadVisitor._visit_coresdk_workflow_commands_QuerySuccessc                    J   | dr| ||jI d H  d S | dr#| ||jI d H  d S d S )N	succeededrg   )r6   r   r   rF   rg   r,   r   r   r   ,_visit_coresdk_workflow_commands_QueryResult.     

z;PayloadVisitor._visit_coresdk_workflow_commands_QueryResultc                    r2   r[   r]   r,   r   r   r   :_visit_coresdk_workflow_commands_CompleteWorkflowExecution4  r8   zIPayloadVisitor._visit_coresdk_workflow_commands_CompleteWorkflowExecutionc                    r2   r_   ra   r,   r   r   r   6_visit_coresdk_workflow_commands_FailWorkflowExecution8  r8   zEPayloadVisitor._visit_coresdk_workflow_commands_FailWorkflowExecutionc                    s   |  ||jI d H  |j D ]}| ||I d H  q| js0|j D ]}| ||I d H  q$| jsD|j D ]}| ||I d H  q8d S d S r+   )	r1   rR   rP   rH   r.   r   rS   r   rQ   rI   r   r   r   ?_visit_coresdk_workflow_commands_ContinueAsNewWorkflowExecution<  s   zNPayloadVisitor._visit_coresdk_workflow_commands_ContinueAsNewWorkflowExecutionc                    s   |  ||jI d H  | js|j D ]}| ||I d H  q|j D ]}| ||I d H  q$| jsD|j D ]}| ||I d H  q8d S d S r+   )	r1   rY   r   rS   rH   r.   rP   r   rQ   rI   r   r   r   <_visit_coresdk_workflow_commands_StartChildWorkflowExecutionI  s   zKPayloadVisitor._visit_coresdk_workflow_commands_StartChildWorkflowExecutionc                    rU   r+   )r1   argsr   rS   rH   r.   rI   r   r   r   @_visit_coresdk_workflow_commands_SignalExternalWorkflowExecutionT  s   zOPayloadVisitor._visit_coresdk_workflow_commands_SignalExternalWorkflowExecutionc                    r   r+   r   rI   r   r   r   6_visit_coresdk_workflow_commands_ScheduleLocalActivity\  r   zEPayloadVisitor._visit_coresdk_workflow_commands_ScheduleLocalActivityc                    s2   | j s|j D ]}| ||I d H  q	d S d S r+   )r   rQ   rH   r.   rI   r   r   r   ?_visit_coresdk_workflow_commands_UpsertWorkflowSearchAttributesb  s   zNPayloadVisitor._visit_coresdk_workflow_commands_UpsertWorkflowSearchAttributesc                    r2   )Nupserted_memo)r6   rK   r   r,   r   r   r   9_visit_coresdk_workflow_commands_ModifyWorkflowPropertiesi  r8   zHPayloadVisitor._visit_coresdk_workflow_commands_ModifyWorkflowPropertiesc                    r   )Nrejectedrf   )r6   rF   r   r.   rf   r,   r   r   r   /_visit_coresdk_workflow_commands_UpdateResponsem  r   z>PayloadVisitor._visit_coresdk_workflow_commands_UpdateResponsec                    r2   )NrY   )r6   r.   rY   r,   r   r   r   7_visit_coresdk_workflow_commands_ScheduleNexusOperations  r8   zFPayloadVisitor._visit_coresdk_workflow_commands_ScheduleNexusOperationc                    s  | dr| ||jI d H  | dr!| ||jI d H  d S | dr2| ||jI d H  d S | drC| ||jI d H  d S | drT| 	||j
I d H  d S | dre| ||jI d H  d S | drv| ||jI d H  d S | dr| ||jI d H  d S | d	r| ||jI d H  d S | d
r| ||jI d H  d S | dr| ||jI d H  d S | dr| ||jI d H  d S | dr| ||jI d H  d S d S )Nuser_metadataschedule_activityrespond_to_querycomplete_workflow_executionfail_workflow_execution"continue_as_new_workflow_executionstart_child_workflow_execution"signal_external_workflow_executionschedule_local_activity!upsert_workflow_search_attributesmodify_workflow_propertiesupdate_responseschedule_nexus_operation)r6   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r,   r   r   r   0_visit_coresdk_workflow_commands_WorkflowCommandw  sh   












z?PayloadVisitor._visit_coresdk_workflow_commands_WorkflowCommandc                    r   r+   )commandsr   rI   r   r   r   *_visit_coresdk_workflow_completion_Success  r   z9PayloadVisitor._visit_coresdk_workflow_completion_Successc                    r2   r_   ra   r,   r   r   r   *_visit_coresdk_workflow_completion_Failure  r8   z9PayloadVisitor._visit_coresdk_workflow_completion_Failurec                    r   )N
successfulrg   )r6   r   r   r   rg   r,   r   r   r   ?_visit_coresdk_workflow_completion_WorkflowActivationCompletion  s   

zNPayloadVisitor._visit_coresdk_workflow_completion_WorkflowActivationCompletion)<r   r   r   r   boolr   r   r   r)   r.   r0   r1   r7   r<   r>   r?   rF   rK   rM   rT   rV   rZ   r^   rb   rc   ri   rk   rl   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   ry   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      sx    
	
,4r   )	r   typingr   r   $temporalio.api.common.v1.message_pb2r   ABCr   r   r   r   r   r   <module>   s
   