+
    Ui                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
 ^RIHt ^RIHt ^RIHtHt ^RIHt ^R	IHt R
R.t ! R R
]4      t ! R R]4      tR# )    )annotationsN)cast)HeadersLike)get_required_header)construct_type)SyncAPIResourceAsyncAPIResource)InvalidWebhookSignatureError)UnwrapWebhookEventWebhooksAsyncWebhooksc                  B    ] tR t^tRR/R R lltRRRR/R R lltR	tR# )
r   secretNc               (    V ^8  d   QhRRRRRRRR/# 	   payloadstr | bytesheadersr   r   
str | Nonereturnr    )formats   "a/home/ubuntu/hermes-agent/venv/lib/python3.14/site-packages/openai/resources/webhooks/webhooks.py__annotate__Webhooks.__annotate__   s2     
 

 

 
 

    c          	         Vf   V P                   P                  pV P                  WVR7       \        \        \        \        \        P                  ! V4      R7      4      # )KValidates that the given payload was sent by OpenAI and parses the payload.r   r   r   type_value)_clientwebhook_secretverify_signaturer   r   r   jsonloads)selfr   r   r   s   &&&$r   unwrapWebhooks.unwrap   sR     >\\00FgvN(jj)
 	
r   	tolerance,  c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r   r   r   r   r   r   r   r,   intr   Noner   )r   s   "r   r   r   ,   sC     G GG G
 G G 
Gr   c                 a Vf   V P                   P                  pVf   \        R4      h\        VR4      p\        VR4      p\        VR4      p \	        V4      p\	        \        P                  ! 4       4      p	Y,
          T8  d   \        R4      RhYT,           8  d   \        R4      Rh. p
TP                  4        FE  pTP                  R	4      '       d   T
P                  TR
,          4       K4  T
P                  T4       KG  	  TP                  R4      '       d   \        P                  ! TR,          4      pMTP                  4       p\        T\        4      '       d   TP                  R4      MTpT RT RT 2p\        P                   ! \"        P$                  ! YP                  4       \&        P(                  4      P+                  4       4      P                  4       o\,        ;QJ d    T3R lT
 4       F  '       g   K   RM	  RM! T3R lT
 4       4      '       g   \        R4      RhR#   \         d    \        R4      Rhi ; i),  Validates whether or not the webhook payload was sent by OpenAI.

Args:
    payload: The webhook payload
    headers: The webhook headers
    secret: The webhook secret (optional, will use client secret if not provided)
    tolerance: Maximum age of the webhook in seconds (default: 300 = 5 minutes)
NThe webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI(webhook_secret='123'), or passed to this functionwebhook-signaturewebhook-timestamp
webhook-id Invalid webhook timestamp formatWebhook timestamp is too oldWebhook timestamp is too newv1,   NNwhsec_   NNutf-8.c              3  R   <"   T F  p\         P                  ! SV4      x  K  	  R # 5iNhmaccompare_digest.0sigexpected_signatures   & r   	<genexpr>,Webhooks.verify_signature.<locals>.<genexpr>p   "     V:C4&&'93??:   $'TFAThe given webhook signature does not match the expected signaturer$   r%   
ValueErrorr   r0   r
   timesplit
startswithappendbase64	b64decodeencode
isinstancebytesdecode	b64encoderF   newhashlibsha256digestanyr)   r   r   r   r,   signature_header	timestamp
webhook_idtimestamp_secondsnow
signaturespartdecoded_secretbodysigned_payloadrK   s   &&&$$          @r   r&   Webhooks.verify_signature,   s     >\\00F>` 
 /w8KL'1DE	(,?
	] #I $))+"Y../MNTXXY../MNTXX
 !#
$**,Du%%!!$r(+!!$'	 - X&&#--fRj9N#]]_N*4We*D*Dw~~g&' '<q1TF;#--HH^%:%:%<gnnMTTV

&( 	
 sV:VsssV:VVV.S WI  	]./QRX\\	]s   H/ /Ir   __name__
__module____qualname____firstlineno__r*   r&   __static_attributes__r   r   r   r   r      s3    

 "
*G
 "G G Gr   c                  B    ] tR t^vtRR/R R lltRRRR/R R lltR	tR# )
r   r   Nc               (    V ^8  d   QhRRRRRRRR/# r   r   )r   s   "r   r   AsyncWebhooks.__annotate__w   s2     
 

 

 
 

r   c          	        Vf   V P                   P                  pV P                  WVR7       \        V\        4      '       d   VP                  R4      MTp\        \        \        \        \        P                  ! V4      R7      4      # )r   r    rA   r!   )r$   r%   r&   rZ   r[   r\   r   r   r   r'   r(   )r)   r   r   r   rl   s   &&&$ r   r*   AsyncWebhooks.unwrapw   sn     >\\00FgvN*4We*D*Dw~~g&'(jj&
 	
r   r,   r-   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r/   r   )r   s   "r   r   rw      sJ     Et EtEt Et
 Et Et 
Etr   c                 a Vf   V P                   P                  pVf   \        R4      Rh\        VR4      p\        VR4      p\        VR4      p \	        V4      p\	        \        P                  ! 4       4      p	Y,
          T8  d   \        R4      RhYT,           8  d   \        R4      Rh. p
TP                  4        FE  pTP                  R	4      '       d   T
P                  TR
,          4       K4  T
P                  T4       KG  	  TP                  R4      '       d   \        P                  ! TR,          4      pMTP                  4       p\        T\        4      '       d   TP                  R4      MTpT RT RT 2p\        P                   ! \"        P$                  ! YP                  4       \&        P(                  4      P+                  4       4      P                  4       o\,        ;QJ d    T3R lT
 4       F  '       g   K   RM	  RM! T3R lT
 4       4      '       g   \        R4      hR#   \         d    \        R4      Rhi ; i)r3   Nr4   r5   r6   r7   r8   r9   r:   r;   r<   r>   r?   rA   rB   c              3  R   <"   T F  p\         P                  ! SV4      x  K  	  R # 5irD   rE   rH   s   & r   rL   1AsyncWebhooks.verify_signature.<locals>.<genexpr>   rN   rO   TFrP   rQ   rc   s   &&&$$          @r   r&   AsyncWebhooks.verify_signature   s     >\\00F>` 
 /w8KL'1DE	(,?
	] #I $))+"Y../MNTXXY../MNTXX
 !#
$**,Du%%!!$r(+!!$'	 - X&&#--fRj9N#]]_N*4We*D*Dw~~g&' '<q1TF;#--HH^%:%:%<gnnMTTV

&( 	
 sV:VsssV:VVV./rss WI  	]./QRX\\	]s   H/ /Ir   ro   r   r   r   r   r   v   s7    

 "
,Et
 "Et Et Etr   )
__future__r   rF   r'   rS   rW   r_   typingr   _typesr   _utilsr   _modelsr   	_resourcer   r	   _exceptionsr
   #types.webhooks.unwrap_webhook_eventr   __all__r   r   r   r   r   <module>r      sX    #       ! ) % : 7 E
'] ]@\t$ \tr   