+
    Di                         ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHtHtHt  ! R R	]P&                  4      t ! R
 R]4      t ! R R]4      t ! R R4      tR# )    )annotationsN)AsyncIteratorIterable)Anycast)HTTPConnection)Response)MessageReceiveScopeSendc                  &    ] tR t^t^ t^t^t^tRtR# )WebSocketState N)	__name__
__module____qualname____firstlineno__
CONNECTING	CONNECTEDDISCONNECTEDRESPONSE__static_attributes__r       r/Users/tonyclaw/.openclaw/workspace/services/omi-webhook/venv/lib/python3.14/site-packages/starlette/websockets.pyr   r      s    JILHr   r   c                  &    ] tR t^tRR R lltRtR# )WebSocketDisconnectNc               $    V ^8  d   QhRRRRRR/#    codeintreason
str | NonereturnNoner   )formats   "r   __annotate__ WebSocketDisconnect.__annotate__   !     # #S # #t #r   c                	4    Wn         T;'       g    R V n        R#  Nr!   r#   selfr!   r#   s   &&&r   __init__WebSocketDisconnect.__init__       	llr   r.   i  N)r   r   r   r   r1   r   r   r   r   r   r      s    # #r   r   c                     a  ] tR t^tR V 3R lltR R ltR R ltR"R R lltR	 R
 ltR R lt	R R lt
R#R R lltR R ltR R ltR R ltR R ltR R ltR#R R lltR$R R lltR R  ltR!tV ;t# )%	WebSocketc               (    V ^8  d   QhRRRRRRRR/# 	r    scoper   receiver   sendr   r%   r&   r   )r'   s   "r   r(   WebSocket.__annotate__   s(     ; ;e ;g ;T ;d ;r   c                	   < \         SV `  V4       VR ,          R8X  g   Q hW n        W0n        \        P
                  V n        \        P
                  V n        R# )type	websocketN)superr1   _receive_sendr   r   client_stateapplication_state)r0   r9   r:   r;   	__class__s   &&&&r   r1   WebSocket.__init__   sH    V}+++
*55!/!:!:r   c                   V ^8  d   QhRR/# )r    r%   r
   r   )r'   s   "r   r(   r<   #   s     e ew er   c                  "   V P                   \        P                  8X  dO   V P                  4       G Rj  xL
 pVR,          pVR8w  d   \	        RV: 24      h\        P
                  V n         V# V P                   \        P
                  8X  dV   V P                  4       G Rj  xL
 pVR,          pVR9  d   \	        RV: 24      hVR8X  d   \        P                  V n         V# \	        R4      h L LN5i)	zD
Receive ASGI websocket messages, ensuring valid state transitions.
Nr>   zwebsocket.connectz3Expected ASGI message "websocket.connect", but got websocket.disconnectzMExpected ASGI message "websocket.receive" or "websocket.disconnect", but got zBCannot call "receive" once a disconnect message has been received.>   websocket.receiverI   )rC   r   r   rA   RuntimeErrorr   r   r0   messagemessage_types   &  r   r:   WebSocket.receive#   s       9 99 MMO+G"6?L22"%XYeXh#ijj . 8 8DN.":":: MMO+G"6?L#PP"cdpcst  55$2$?$?!Ncdd# , ,s#   3C3C/A,C3"C1#AC31C3c                    V ^8  d   QhRRRR/# r    rM   r
   r%   r&   r   )r'   s   "r   r(   r<   ;   s     'Y 'Y' 'Yd 'Yr   c                  "   V P                   \        P                  8X  d   VR,          pVR9  d   \        RV: 24      hVR8X  d   \        P                  V n         M2VR8X  d   \        P
                  V n         M\        P                  V n         V P                  V4      G Rj  xL
  R# V P                   \        P                  8X  dX   VR,          pVR9  d   \        RV: 24      hVR8X  d   \        P                  V n          V P                  V4      G Rj  xL
  R# V P                   \        P
                  8X  dh   VR,          pVR	8w  d   \        R
V: 24      hVP                  RR4      '       g   \        P                  V n         V P                  V4      G Rj  xL
  R# \        R4      h EL L  \         d#    \        P                  T n         \        RR7      hi ; i LF5i)zA
Send ASGI websocket messages, ensuring valid state transitions.
r>   websocket.closewebsocket.http.response.startzhExpected ASGI message "websocket.accept", "websocket.close" or "websocket.http.response.start", but got NzEExpected ASGI message "websocket.send" or "websocket.close", but got i  )r!   zwebsocket.http.response.bodyz>Expected ASGI message "websocket.http.response.body", but got 	more_bodyFz6Cannot call "send" once a close message has been sent.>   rS   websocket.acceptrT   >   websocket.sendrS   )rD   r   r   rK   r   r   r   rB   OSErrorr   getrL   s   && r   r;   WebSocket.send;   s     !!^%>%>>"6?L#kk"+.0  00)7)D)D&!@@)7)@)@&)7)A)A&**W%%%##~'?'??"6?L#HH"[\h[kl  00)7)D)D&5jj))) ##~'>'>>"6?L=="%cdpcs#tuu;;{E22)7)D)D&**W%%%WXX- & * 5)7)D)D&)t445 &sP   B"G)$F2%A G)F7 F5F7 AG)7)G) G'!G)5F7 7-G$$G)c               $    V ^8  d   QhRRRRRR/# )r    subprotocolr$   headersz$Iterable[tuple[bytes, bytes]] | Noner%   r&   r   )r'   s   "r   r(   r<   d   s-     
f 
f
f 6
f 
	
fr   c                	   "   T;'       g    . pV P                   \        P                  8X  d   V P                  4       G R j  xL
  V P	                  RRRVRV/4      G R j  xL
  R #  L% L5i)Nr>   rV   r\   r]   )rC   r   r   r:   r;   )r0   r\   r]   s   &&&r   acceptWebSocket.acceptd   s_     
 --R 9 99,,.  ii!3]KQZ\cdeee !es#   ?A+A'A+ A)!A+)A+c                    V ^8  d   QhRRRR/# rQ   r   )r'   s   "r   r(   r<   p   s     N NG N Nr   c                	f    VR ,          R8X  d#   \        VR,          VP                  R4      4      hR# )r>   rI   r!   r#   N)r   rY   r0   rM   s   &&r   _raise_on_disconnectWebSocket._raise_on_disconnectp   s.    6?44%gfow{{87LMM 5r   c                   V ^8  d   QhRR/# )r    r%   strr   )r'   s   "r   r(   r<   t   s     * *C *r   c                	   "   V P                   \        P                  8w  d   \        R 4      hV P	                  4       G Rj  xL
 pV P                  V4       \        \        VR,          4      #  L,5i)8WebSocket is not connected. Need to call "accept" first.Ntext)rD   r   r   rK   r:   rd   r   rg   rc   s   & r   receive_textWebSocket.receive_textt   sW     !!^%=%==YZZ&!!'*C)) '   >A/ A--A/c                   V ^8  d   QhRR/# )r    r%   bytesr   )r'   s   "r   r(   r<   {   s     - -U -r   c                	   "   V P                   \        P                  8w  d   \        R 4      hV P	                  4       G Rj  xL
 pV P                  V4       \        \        VR,          4      #  L,5i)ri   Nro   )rD   r   r   rK   r:   rd   r   ro   rc   s   & r   receive_bytesWebSocket.receive_bytes{   sX     !!^%=%==YZZ&!!'*E77+,, 'rm   c                    V ^8  d   QhRRRR/# )r    moderg   r%   r   r   )r'   s   "r   r(   r<      s        s    r   c                	V  "   VR9  d   \        R4      hV P                  \        P                  8w  d   \        R4      hV P	                  4       G Rj  xL
 pV P                  V4       VR 8X  d   VR ,          pMVR,          P                  R4      p\        P                  ! V4      #  LT5i)rj   1The "mode" argument should be "text" or "binary".ri   Nro   utf-8>   rj   binary)	rK   rD   r   r   r:   rd   decodejsonloads)r0   rt   rM   rj   s   &&  r   receive_jsonWebSocket.receive_json   s     ))RSS!!^%=%==YZZ&!!'*6>6?D7#**73Dzz$ 's   AB)B'AB)c                   V ^8  d   QhRR/# )r    r%   zAsyncIterator[str]r   )r'   s   "r   r(   r<            !3 r   c               	p   "     V P                  4       G Rj  xL
 5x  K   L	  \         d     R# i ; i5iTN)rk   r   r0   s   &r   	iter_textWebSocket.iter_text   3     	 --////" 		    6$ "
$ 3636c                   V ^8  d   QhRR/# )r    r%   zAsyncIterator[bytes]r   )r'   s   "r   r(   r<      s      "6 r   c               	p   "     V P                  4       G Rj  xL
 5x  K   L	  \         d     R# i ; i5ir   )rq   r   r   s   &r   
iter_bytesWebSocket.iter_bytes   s3     	 ..0000" 		r   c                   V ^8  d   QhRR/# )r    r%   zAsyncIterator[Any]r   )r'   s   "r   r(   r<      r   r   c               	p   "     V P                  4       G Rj  xL
 5x  K   L	  \         d     R# i ; i5ir   )r|   r   r   s   &r   	iter_jsonWebSocket.iter_json   r   r   c                    V ^8  d   QhRRRR/# )r    datarg   r%   r&   r   )r'   s   "r   r(   r<      s     B BC BD Br   c                	L   "   V P                  R RRV/4      G Rj  xL
  R#  L5i)r>   rW   rj   Nr;   r0   r   s   &&r   	send_textWebSocket.send_text   s!     ii!164@AAA   $"$c                    V ^8  d   QhRRRR/# )r    r   ro   r%   r&   r   )r'   s   "r   r(   r<      s     C CU Ct Cr   c                	L   "   V P                  R RRV/4      G Rj  xL
  R#  L5i)r>   rW   ro   Nr   r   s   &&r   
send_bytesWebSocket.send_bytes   s!     ii!17DABBBr   c               $    V ^8  d   QhRRRRRR/# )r    r   r   rt   rg   r%   r&   r   )r'   s   "r   r(   r<      s&     W WC Ws W Wr   c                	  "   VR	9  d   \        R4      h\        P                  ! VR
RR7      pVR 8X  d    V P                  RRR V/4      G Rj  xL
  R# V P                  RRRVP	                  R4      /4      G Rj  xL
  R#  L4 L5i)rj   rv   F)
separatorsensure_asciir>   rW   Nro   rw   >   rj   rx   ),:)rK   rz   dumpsr;   encode)r0   r   rt   rj   s   &&& r   	send_jsonWebSocket.send_json   s}     ))RSSzz$:EJ6>))V%5vtDEEE))V%5wG@TUVVV FVs$   ABB-B;B<BBc               $    V ^8  d   QhRRRRRR/# r   r   )r'   s   "r   r(   r<      s&     [ [ [J [$ [r   c           	     	d   "   T P                  R RRTRT;'       g    R/4      G Rj  xL
  R#  L5i)r>   rS   r!   r#   r-   Nr   r/   s   &&&r   closeWebSocket.close   s,     ii!2FD(FLLVXYZZZs   %0.0c                    V ^8  d   QhRRRR/# )r    responser	   r%   r&   r   )r'   s   "r   r(   r<      s     f f8 f fr   c                	   "   R V P                   P                  R/ 4      9   d3   V! V P                   V P                  V P                  4      G Rj  xL
  R# \	        R4      h L5i)zwebsocket.http.response
extensionsNzCThe server doesn't support the Websocket Denial Response extension.)r9   rY   r:   r;   rK   )r0   r   s   &&r   send_denial_responseWebSocket.send_denial_response   sL     $

|R(HH4::t||TYY???dee @s   AA#A!A#)rA   rB   rD   rC   )NN)rj   r4   )r   r   r   r   r1   r:   r;   r_   rd   rk   rq   r|   r   r   r   r   r   r   r   r   r   __classcell__)rE   s   @r   r6   r6      sh    ; ;e0'YR
fN*- BCW[f fr   r6   c                  2    ] tR t^tRR R lltR R ltRtR# )WebSocketCloseNc               $    V ^8  d   QhRRRRRR/# r   r   )r'   s   "r   r(   WebSocketClose.__annotate__   r*   r   c                	4    Wn         T;'       g    R V n        R# r,   r.   r/   s   &&&r   r1   WebSocketClose.__init__   r3   r   c               (    V ^8  d   QhRRRRRRRR/# r8   r   )r'   s   "r   r(   r      s.     Z ZE ZG Z4 ZD Zr   c                	f   "   V! R RRV P                   RV P                  /4      G Rj  xL
  R#  L5i)r>   rS   r!   r#   Nr.   )r0   r9   r:   r;   s   &&&&r   __call__WebSocketClose.__call__   s)     F-vtyy(DKKXYYYs   &1/1r.   r4   )r   r   r   r   r1   r   r   r   r   r   r   r      s    #Z Zr   r   )
__future__r   enumrz   collections.abcr   r   typingr   r   starlette.requestsr   starlette.responsesr	   starlette.typesr
   r   r   r   Enumr   	Exceptionr   r6   r   r   r   r   <module>r      sY    "   3  - ( 9 9TYY #) #af afHZ Zr   