+
    Ð�jo  ã                   ó  € ^ RI t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
HtHtHtHtHt ^ RIHtHt ^ RIHtHtHt ] P.                  ! ]4      tR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R lt R R lt!R# )é    N)ÚAny)ÚSettings)ÚWorkflowHandleOptionRequestÚWorkflowStartInteractiveRequest)Úcontrolled_error)Úis_event_processedÚmark_event_processedÚmark_menu_sentÚset_last_optionÚwas_menu_sent)Úbuild_text_message_payloadÚsend_conversation_message)Úhandle_optionÚnormalize_optionÚstart_workflow_interactivec                ó€   € V ^8„  d   QhR\         \        \        3,          R\        R\         \        \        3,          /# ©é   ÚpayloadÚsettingsÚreturn©ÚdictÚstrr   r   )Úformats   "Ú'app\services\freshchat_event_service.pyÚ__annotate__r      s6   € ÷ ñ ¬t´C¼°H­~ð Ìð ÔVZÔ[^Ô`cÐ[cÕVdñ ó    c           
      óF  € \        V 4      pVR ,          '       g   \        RRV/4      # \        V4      '       g   \        RV4      # \	        VR4      p\        W4      '       d   \        RV4      # \        W4       \        WR ,          4      '       d   \        RV4      # \        \        VR,          ;'       g    VR,          ;'       g    R	VR ,          VR,          ;'       g
    VR,          R
RR7      V4      pVP                  R4      R8X  d   \        WR ,          4       V# )Úconversation_idú%El evento no incluye conversation_id.Úcontextz4Evento ignorado porque no fue originado por usuario.ÚconversationzEvento duplicado ignorado.z.El menu ya fue enviado para esta conversacion.Úuser_idÚactor_idÚ ÚwhatsappT©Úclienter    r$   ÚcanalÚsupports_interactiveÚerrorÚfalse)Úextract_event_contextr   Ú_is_user_eventÚ_ignoredÚ
_event_keyr   r	   r   r   r   Úgetr
   )r   r   r"   Ú	event_keyÚresponses   &&   r   Ú!handle_conversation_created_eventr5      s  € Ü# GÓ,€GØÐ$×%Ô%ÜÐ GÈ)ÐU\ÐI]Ó^Ð^Ü˜'×"Ò"ÜÐNÐPWÓXÐXä˜7 NÓ3€IÜ˜(×.Ò.ÜÐ4°gÓ>Ð>ä˜Ô-ä�XÐ'8Õ9×:Ò:ÜÐHÈ'ÓRÐRä)Ü'Ø˜IÕ&×CÐC¨'°*Õ*=×CÐCÀØ#Ð$5Õ6Ø˜IÕ&×=Ð=¨'°*Õ*=ØØ!%ô	
ð 	ó	€Hð ‡|�|�GÓ Ô'Ü�xÐ):Õ!;Ô<Ø€Or   c                ó€   € V ^8„  d   QhR\         \        \        3,          R\        R\         \        \        3,          /# r   r   )r   s   "r   r   r   6   s@   € ÷ @Sñ @S¬$¬s´C¨x­.ð @SÄHð @SÔQUÔVYÔ[^ÐV^ÕQ_ñ @Sr   c           
      óœ  € \        V 4      pVR ,          '       g   \        RRV/4      # \        V4      '       g   \        RV4      # \	        VR4      p\        W4      '       d   \        RV4      # \        W4       \        VR,          ;'       g
    VR,          4      pV'       Ed    \        \        VR,          ;'       g    VR	,          ;'       g    R
VVRRR7      VP                  4      pVP                  R4      R8X  d¤   VP                  R4      R8X  dŽ   VR,          p\        TVP                  VP                  VR,          ;'       g
    VR	,          R7      p\        VVR ,          V4      p\!        WR ,          V4       / VCRRR/ VP                  R/ 4      CRVRV/C/C# \#        WR ,          4      '       g†   \%        \'        VR,          ;'       g    VR	,          ;'       g    R
VR ,          VR,          ;'       g
    VR	,          RRR7      V4      p	V	P                  R4      R8X  d   \)        WR ,          4       V	# \        RV4      # )r    r!   r"   z<Evento ignorado porque fue originado por bot/agente/sistema.ÚmessagezMensaje duplicado ignorado.Úmessage_textÚreply_payloadr$   r%   r&   r'   T)r)   Úselected_optionÚselected_option_idr*   r+   r,   r-   Úresponse_typeÚtextÚmensaje)r>   Ú
actor_typer%   r$   ÚsentÚdataÚfreshchat_messager(   z2Mensaje de usuario recibido sin opcion reconocida.)r.   r   r/   r0   r1   r   r	   r   r   r   Údefault_response_moder2   r   Úfreshworks_default_actor_typeÚfreshworks_default_actor_idr   r   r   r   r   r
   )
r   r   r"   r3   r;   Úoption_responser>   Úpayload_to_sendÚfreshchat_responser4   s
   &&        r   Úhandle_message_created_eventrJ   6   sV  € Ü# GÓ,€GØÐ$×%Ô%ÜÐ GÈ)ÐU\ÐI]Ó^Ð^Ü˜'×"Ò"ÜÐVÐX_Ó`Ð`ä˜7 IÓ.€IÜ˜(×.Ò.ÜÐ5°wÓ?Ð?ä˜Ô-ä& w¨~Õ'>×'ZÐ'ZÀ'È/ÕBZÓ[€Oß€Ü'Ü'Ø 	Õ*×GÐG¨g°jÕ.A×GÐGÀRØ /Ø#2Ø Ø%)ôð ×*Ñ*ó	
ˆð ×Ñ˜wÓ'¨7Ô2°×7JÑ7JÈ?Ó7[Ð_eÔ7eØ" 9Õ-ˆDÜ8ØØ#×AÑAØ!×=Ñ=Ø 	Õ*×AÐA¨g°jÕ.Aô	ˆOô ";ØØÐ)Õ*Øó"Ðô
 ˜HÐ.?Õ&@À/ÔRðØ!ðà˜Øð Ø%×)Ñ)¨&°"Ó5ðà˜wØ'Ð);ññð ô ˜Ð+<Õ#=×>Ò>Ü-Ü+Ø 	Õ*×GÐG¨g°jÕ.A×GÐGÀRØ 'Ð(9Õ :Ø 	Õ*×AÐA¨g°jÕ.AØ Ø%)ôð ó	
ˆð �<‰<˜Ó  GÔ+Ü˜8Ð->Õ%?Ô@ØˆäÐHÈ'ÓRÐRr   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# )r   r   r   ©r   r   r   )r   s   "r   r   r   y   s*   € ÷ &ñ &¤4¬¬S¨¥>ð &´d¼3Ä¸8µnñ &r   c                 óª  € V P                  R 4      ;'       g    / pVP                  R4      ;'       g    V P                  R4      ;'       g    / pVP                  R4      ;'       g    V P                  R4      ;'       g    / pVP                  R4      ;'       g    V P                  R4      ;'       g    / pV'       gE   \        VP                  R4      \        4      '       d    VR,          '       d   VR,          R,          pVP                  R4      ;'       g    / pVP                  R4      ;'       g    / pVP                  R4      ;'       g]    VP                  R4      ;'       gD    V P                  R4      ;'       g+    V P                  R4      ;'       g    V P                  R	4      pVP                  R
4      ;'       g+    VP                  R4      ;'       g    V P                  R
4      pVP                  R4      ;'       g    VP                  R4      p	VP                  R4      ;'       g    VP                  R4      p
VP                  R4      ;'       gD    V P                  R4      ;'       g+    V P                  R4      ;'       g    V P                  R4      pRV P                  R4      RVR
VRV	RV
RVR\        V4      R\	        V4      /# )rB   Úactorr#   r8   ÚmessagesÚassociationsÚuserr    ÚconversationAliasÚconversationIdr$   Úidr%   Útyper@   ÚmessageAliasÚ
message_idÚ	messageIdÚeventr9   r:   éÿÿÿÿ)r2   Ú
isinstanceÚlistÚ_extract_message_textÚ_extract_reply_payload)r   rB   rN   r#   r8   rP   Úassociated_userr    r$   r%   r@   rW   s   &           r   r.   r.   y   sw  € Ø�;‰;�vÓ×$Ð$ "€DØ�H‰H�WÓ×;Ð; §¡¨WÓ!5×;Ð;¸€EØ—8‘8˜NÓ+×PÐP¨w¯{©{¸>Ó/J×PÐPÈb€LØ�h‰h�yÓ!×AÐA W§[¡[°Ó%;×AÐA¸r€Gç”z ,×"2Ñ"2°:Ó">Ä×EÒEÈ,ÐWa×JbÔJbØ˜zÕ*¨2Õ.ˆà—8‘8˜NÓ+×1Ð1¨r€LØ"×&Ñ& vÓ.×4Ð4°"€Oð 	×ÑÐ*Ó+÷ 	)ð 	)Ø�;‰;Ð(Ó)÷	)ð 	)à�;‰;Ð*Ó+÷	)ð 	)ð �;‰;Ð(Ó)÷	)ð 	)ð �;‰;Ð'Ó(ð ð ×Ñ˜yÓ)×`Ð`¨_×-@Ñ-@ÀÓ-F×`Ð`È'Ï+É+ÐV_ÓJ`€GØ�y‰y˜‹×9Ð9 '§+¡+¨jÓ"9€HØ—‘˜6Ó"×?Ð? g§k¡k°,Ó&?€Jà�‰�DÓ÷ 	$ð 	$Ø�;‰;�~Ó&÷	$ð 	$à�;‰;�|Ó$÷	$ð 	$ð �;‰;�{Ó#ð	 ð 	�—‘˜WÓ%Ø˜?Ø�7Ø�HØ�jØ�jØÔ-¨gÓ6ØÔ/°Ó8ð	ð 	r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# ©r   r8   r   rL   )r   s   "r   r   r   ¢   s"   € ÷ 	3ñ 	3¤4¬¬S¨¥>ð 	3´cñ 	3r   c                 ó‚  € V P                  R 4      ;'       g    . pV FR  pVP                  R4      ;'       g    / pVP                  R4      pV'       g   K9  \        V4      P                  4       u # 	  V P                  R4      ;'       g    V P                  R4      pV'       d   \        V4      P                  4       # R# )Úmessage_partsr>   Úcontentr&   ©r2   r   Ústrip)r8   ÚpartsÚpartr>   rd   s   &    r   r]   r]   ¢   s™   € Ø�K‰K˜Ó(×.Ð.¨B€EÛˆØ�x‰x˜Ó×%Ð% 2ˆØ—(‘(˜9Ó%ˆß‰7Ü�w“<×%Ñ%Ó'Ò'ñ	 ð �k‰k˜)Ó$×;Ð;¨¯©°FÓ(;€Gß#*Œ3ˆw‹<×ÑÓÐ2°Ð2r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# ra   rL   )r   s   "r   r   r   ®   s"   € ÷ ñ ¤D¬¬c¨¥Nð ´sñ r   c                 ó  € V P                  R 4      ;'       g    . pV Fk  pVP                  R4      ;'       g    / pVP                  R4      ;'       g    VP                  R4      pV'       g   KR  \        V4      P                  4       u # 	  R# )Úreply_partsÚquick_reply_buttonr   Úcustom_reply_textr&   re   )r8   rk   rh   Úquick_replyr   s   &    r   r^   r^   ®   sv   € Ø—+‘+˜mÓ,×2Ð2°€KÛˆØ—h‘hÐ3Ó4×:Ð:¸ˆØ—/‘/ )Ó,×TÐT°·±Ð@SÓ0Tˆß‰7Ü�w“<×%Ñ%Ó'Ò'ñ	 ñ
 r   c                ó^   € V ^8„  d   QhR\         \        \        3,          R\        R\        /# )r   r"   Úfallback_prefixr   rL   )r   s   "r   r   r   ¸   s.   € ÷ [ñ [œœS¤#˜X�ð [¼ð [Äñ [r   c                 ó  € V P                  R 4      '       d   RV R ,           2# V P                  R4      '       d-   V P                  R4      '       d   V R,           RV R,           2# V RV P                  R4       RV P                  R4       2# )rW   zmessage:rY   r    Ú:r%   )r2   )r"   rp   s   &&r   r1   r1   ¸   s�   € Ø‡{�{�<× Ò Ø˜' ,Õ/Ð0Ð1Ð1Ø‡{�{�7×Ò §¡Ð,=× >Ò >Ø˜'Õ"Ð# 1 WÐ->Õ%?Ð$@ÐAÐAØÐ˜a §¡Ð,=Ó >Ð?¸qÀÇÁÈZÓAXÐ@YÐZÐZr   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# )r   r"   r   )r   r   r   Úbool)r   s   "r   r   r   À   s"   € ÷ ?ñ ?œD¤¤c �Nð ?¬tñ ?r   c                 óZ   € V P                  R 4      ;'       g    RP                  4       R8H  # )r@   r&   rQ   )r2   Úlower)r"   s   &r   r/   r/   À   s'   € Ø�K‰K˜Ó%×+Ð+¨×2Ñ2Ó4¸Ñ>Ð>r   c                ó€   € V ^8„  d   QhR\         R\        \         \        3,          R\        \         \        3,          /# )r   Úreasonr"   r   )r   r   r   )r   s   "r   r   r   Ä   s1   € ÷ ñ ”Sð ¤4¬¬S¨¥>ð ´d¼3Ä¸8µnñ r   c                 óJ   € \         P                  R W4       RRRV RRRRRR	V//# )
z%s context=%sr,   r-   r?   r=   r>   rB   ÚignoredTr"   )ÚloggerÚinfo)rx   r"   s   &&r   r0   r0   Ä   s7   € Ü
‡K�K� Ô1à�Ø�6Ø˜Ø�˜D )¨WÐ5ð	ð r   )"ÚloggingÚtypingr   Úapp.core.configr   Úapp.schemas.freshchatr   r   Ú!app.services.conversation_builderr   Úapp.services.event_storer   r	   r
   r   r   Úapp.services.freshchat_clientr   r   Úapp.services.workflow_servicer   r   r   Ú	getLoggerÚ__name__r{   r5   rJ   r.   r]   r^   r1   r/   r0   © r   r   Ú<module>rˆ      si   ðÛ Ý å $ß ^Ý >÷õ ÷÷ fÑ eà	×	Ò	˜8Ó	$€õõ>@SõF&õR	3õõ[õ?÷r   