§
    nÈj   ã                   óà   — d Z ddlZddlmc 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 ddlmZ ddlmZ ddlmZ ddlmZmZmZmZ ej                             ddd	g¦  «        d
„ ¦   «         ZdS )uD   çœŸå®žç½‘å…³è¿žæŽ¥ä¸Šçš„ END ç»ˆæ€�ç¡®è®¤ä¸Žç»“æžœé‡�äº¤ä»˜å›žå½’ã€‚é    N)Ú
TestClient)ÚDeviceCredentialStore)ÚTargetStore)Ú	FakeAgentÚFakeSTTÚstartÚchunkÚoffline_completeFTc                 ó$  ‡,‡-— | dz  }|                      t          j        dddœ¦  «        ¦  «         |                     t          dt          |¦  «        ¦  «         t          | dz  ¦  «        }|                     dd¦  «         |                     t          d|¦  «         |                     t          d	i ¦  «         t          d
| ¦  «        }|                     t          dd
|i¦  «         t          j
        ¦   «         t          j
        ¦   «         cŠ,Š- G ˆ,ˆ-fd„dt          ¦  «        } |¦   «         }|                     t          j        d|¦  «         |                     t          j        dd ¦  «         t          ddddd¬¦  «        }t          ddd¬¦  «        }	d„ }
t          t          j        ¦  «        5 }	 |                     d¦  «        5 }|                     |¦  «          |
|d¦  «          |
|d¦  «         |                     t%          ¦   «         ¦  «          |
|d¦  «         |                     t'          ¦   «         ¦  «          |
|d¦  «         |                     |	¦  «         ‰,j        }d} ||¦  «        }|sždd t+          j        ¦   «         v st/          j        ‰,¦  «        rt/          j        ‰,¦  «        nd t/          j        |¦  «        t/          j        |¦  «        t/          j        |¦  «        d!œz  }t5          t/          j        |¦  «        ¦  «        ‚d x}x}}t          j        j        d         }d d d ¦  «         n# 1 swxY w Y   |�rC‰-                     ¦   «          t;          j        ¦   «         dz   }|j        d"k    rMt;          j        ¦   «         |k     r6t;          j         d#¦  «         |j        d"k    rt;          j        ¦   «         |k     °6|j        }d"}||k    }|sªt/          j!        d$|fd%||f¦  «        d&t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd&t/          j        |¦  «        t/          j        |¦  «        d'œz  }d(d)|iz  }t5          t/          j        |¦  «        ¦  «        ‚d x}x}}|                     d¦  «        5 }|                     |¦  «          |
|d¦  «          |
|d¦  «         |                     t          d*d¬+¦  «        ¦  «          |
|d,¦  «        }d,}d}|rd"nd-}t          |||¬.¦  «        }||k    }|�st/          j!        d$|fd/||f¦  «        d0t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd0d1t+          j        ¦   «         v st/          j        t          ¦  «        rt/          j        t          ¦  «        nd1t/          j        |¦  «        t/          j        |¦  «        t/          j        |¦  «        t/          j        |¦  «        d2œz  }d3d4|iz  }t5          t/          j        |¦  «        ¦  «        ‚d x}x}x}x}}|r |
|d5¦  «         |                     |	¦  «          |
|d,¦  «        d6         }d}||k    }|slt/          j!        d$|fd7||f¦  «        t/          j        |¦  «        t/          j        |¦  «        d8œz  }d9d:|iz  }t5          t/          j        |¦  «        ¦  «        ‚d x}x}}‰-                     ¦   «           |
|d5¦  «        }|                     |	¦  «          |
|d,¦  «        d;         }d"}||k    }|slt/          j!        d$|fd7||f¦  «        t/          j        |¦  «        t/          j        |¦  «        d8œz  }d9d:|iz  }t5          t/          j        |¦  «        ¦  «        ‚d x}x}}d5} |
||¦  «        }||k    } | �s&t/          j!        d$| fd<||f¦  «        d=t+          j        ¦   «         v st/          j        |
¦  «        rt/          j        |
¦  «        nd=d>t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd>t/          j        |¦  «        t/          j        |¦  «        d?t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd?d@œz  }dAdB|iz  }!t5          t/          j        |!¦  «        ¦  «        ‚d x}x}} |                     t          d*d¬+¦  «        ¦  «          |
|d,¦  «         d5} |
||¦  «        }||k    } | �s&t/          j!        d$| fd<||f¦  «        d=t+          j        ¦   «         v st/          j        |
¦  «        rt/          j        |
¦  «        nd=d>t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd>t/          j        |¦  «        t/          j        |¦  «        d?t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd?d@œz  }dAdB|iz  }!t5          t/          j        |!¦  «        ¦  «        ‚d x}x}} g }|j"        }dC} || k    }|}|r|j#        }"g }#|"|#k    }$|$}|$r|j$        }%|% }&|&}|�sít/          j!        d$|fdD|| f¦  «        dt+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        ndt/          j        |¦  «        t/          j        | ¦  «        dEœz  }dFdB|iz  }!| %                    |!¦  «         |�rt/          j!        d$|$fdG|"|#f¦  «        dHt+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        ndHt/          j        |"¦  «        t/          j        |#¦  «        dIœz  }'dJdK|'iz  }(| %                    |(¦  «         |$rldLd&t+          j        ¦   «         v st/          j        |¦  «        rt/          j        |¦  «        nd&t/          j        |%¦  «        dMœz  })| %                    |)¦  «         t/          j&        |dN¦  «        i z  }*dOdP|*iz  }+t5          t/          j        |+¦  «        ¦  «        ‚d x}x}x}x}x} x}"x}$x}#x}%}&d d d ¦  «         n# 1 swxY w Y   ‰-                     ¦   «          n# ‰-                     ¦   «          w xY w	 d d d ¦  «         d S # 1 swxY w Y   d S )QNzcredential.jsonÚtestÚsecret)Ú	device_idÚdevice_tokenÚcredential_storeztargets.jsonz
agent:pi:sÚtarget_storeÚdevicesÚpiÚadaptersc                   ó(   •‡ — e Zd ZdZˆ ˆˆfd„Zˆ xZS )ú)test_terminal_reconnect.<locals>.Providerr   c              “   ó"  •K  — | xj         dz  c_         ‰                     ¦   «          ‰                     ¦   «         s.t          j        d¦  «        ƒ d {V —† ‰                     ¦   «         ¯.t          ¦   «                              |¦  «        ƒ d {V —†S )Né   ç{®Gázt?)ÚcallsÚsetÚis_setÚasyncioÚsleepÚsuperÚ
transcribe)ÚselfÚdataÚ	__class__ÚreadyÚreleases     €€€úb/home/lighthouse/esp32-dev/.cache/main-promotion-test-20261009/server/tests/test_voice_terminal.pyr    z4test_terminal_reconnect.<locals>.Provider.transcribe   s•   øè è € ØˆJŒJ˜!‰OˆJŒJØ�IŠI‰KŒKˆKØ—n’nÑ&Ô&ð *Ý”m DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð —n’nÑ&Ô&ð *å™œ×+Ò+¨DÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ó    )Ú__name__Ú
__module__Ú__qualname__r   r    Ú__classcell__)r#   r$   r%   s   @€€r&   ÚProviderr      sH   øø€ € € € € Øˆð	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2r'   r,   ÚproviderÚcontext_prepareÚhelloÚ	syntheticz0.4.0)Útyper   r   ÚboardÚfirmwareÚ	voice_endÚviÈ  )r1   Úvoice_idÚtotal_bytesc                 óŒ   — t          d¦  «        D ]&}|                      ¦   «         }|d         |k    r|c S Œ't          |¦  «        ‚)Né   r1   )ÚrangeÚreceive_jsonÚAssertionError)ÚwsÚkindÚ_Úevents       r&   Úreceivez(test_terminal_reconnect.<locals>.receive,   sQ   € Ý�r‘”ð 	ð 	ˆAØ—O’OÑ%Ô%ˆEØ�VŒ} Ò$Ð$Ø���ð %å˜TÑ"Ô"Ð"r'   z
/device/wsÚ	hello_ackÚagent_stateÚvoice_stateÚ	voice_acké   zFassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.wait
}(%(py4)s)
}r$   )Úpy0Úpy2Úpy4Úpy6ÚAWAITING_CONFIRMATIONr   )ú==)z-%(py2)s
{%(py2)s = %(py0)s.state
} == %(py5)sÚreq)rG   rH   Úpy5zassert %(py7)sÚpy7Úvoice_status)r1   r6   Úvoice_end_ackÚTRANSCRIBING)r1   r6   Ústate)zX%(py0)s == %(py10)s
{%(py10)s = %(py2)s(type=%(py4)s, voice_id=%(py6)s, state=%(py8)s)
}ÚackÚdict)rG   rH   rI   rJ   Úpy8Úpy10zassert %(py12)sÚpy12Úvoice_transcriptr6   )z%(py1)s == %(py4)s)Úpy1rI   zassert %(py6)srJ   rS   )z9%(py5)s
{%(py5)s = %(py0)s(%(py1)s, %(py3)s)
} == %(py7)srA   ÚnewÚ
transcript)rG   rZ   Úpy3rN   rO   zassert %(py9)sÚpy9r   )z-%(py4)s
{%(py4)s = %(py2)s.calls
} == %(py7)s)rH   rI   rO   z%(py9)s)z2%(py13)s
{%(py13)s = %(py11)s.inputs
} == %(py16)sÚadapter)Úpy11Úpy13Úpy16z%(py18)sÚpy18z'not %(py22)s
{%(py22)s = %(py20)s.pcm
})Úpy20Úpy22r   zassert %(py26)sÚpy26)'Ú
write_textÚjsonÚdumpsÚsetattrÚgatewayr   r   r   r   Ú	threadingÚEventr   ÚvoicesrU   r   ÚappÚwebsocket_connectÚ	send_jsonr   r	   ÚwaitÚ@py_builtinsÚlocalsÚ
@pytest_arÚ_should_repr_global_nameÚ	_safereprr<   Ú_format_explanationÚrequestsÚtimeÚ	monotonicrS   r   Ú_call_reprcomparer   ÚinputsÚpcmÚappendÚ_format_boolop).Útmp_pathÚmonkeypatchr
   Ú
credentialÚtargetsr_   r,   r-   r/   ÚendrA   ÚclientÚoldÚ@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_format7rM   ÚdeadlineÚ@py_assert4Ú@py_format6Ú@py_format8r[   rT   Ú@py_assert7Ú@py_assert9Ú@py_format11Ú@py_format13Ú@py_assert0Ú@py_assert2Ú@py_format5r\   Ú@py_assert6Ú@py_format10Ú@py_assert12Ú@py_assert15Ú@py_assert14Ú@py_assert21Ú@py_assert23Ú@py_format17Ú@py_format19Ú@py_format24Ú@py_format25Ú@py_format27r$   r%   s.                                               @@r&   Útest_terminal_reconnectr£      sf  øø€ àÐ-Ñ-€JØ×Ò�$œ*°6È8Ð%TÐ%TÑUÔUÑVÔVÐVØ×Ò�Ð!3Õ5JÈ:Ñ5VÔ5VÑWÔWÐWÝ˜( ^Ñ3Ñ4Ô4€GØ‡K‚K�˜Ñ%Ô%Ð%Ø×Ò� °Ñ9Ô9Ð9Ø×Ò� ¨BÑ/Ô/Ð/Ý˜˜hÑ'Ô'€GØ×Ò� ¨d°G¨_Ñ=Ô=Ð=Ý”_Ñ&Ô&­	¬Ñ(9Ô(9€N€Eˆ7ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2•7ñ 2ô 2ð 2ð ˆx‰zŒz€HØ×Ò�œ¨
°HÑ=Ô=Ð=Ø×Ò�œÐ(9¸4Ñ@Ô@Ð@Ý�g¨¸hÈkÐdkÐlÑlÔl€EÝ
�K¨#¸4Ð
@Ñ
@Ô
@€Cð#ð #ð #õ 
•G”KÑ	 Ô	 ð % Fð$	Ø×)Ò)¨,Ñ7Ô7ð 6¸3Ø—’˜eÑ$Ô$Ð$Ø�˜˜[Ñ)Ô)Ð)¨7¨7°3¸Ñ+FÔ+FÐ+FØ—’�e™gœgÑ&Ô&Ð&¨¨°°]Ñ(CÔ(CÐ(CØ—’�e™gœgÑ&Ô&Ð&¨¨°°[Ñ(AÔ(AÐ(AØ—’˜cÑ"Ô"Ð"Ø”zÐ$ !Ð$�z�z !‘}”}Ð$�}Ð$Ð$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$�uÑ$Ô$Ð$Õ$Ô$�uÑ$Ô$Ð$Ð$Õ$Ô$�zÑ$Ô$Õ$Ô$ !Ñ$Ô$Õ$Ô$�}Ñ$Ô$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ý”nÔ-¨fÔ5�ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð  ñ <Ø—’‘”�Ýœ>Ñ+Ô+¨aÑ/�Ø”iÐ#:Ò:Ð:½t¼~Ñ?OÔ?OÐRZÒ?ZÐ?ZÝ”J˜tÑ$Ô$Ð$ð ”iÐ#:Ò:Ð:½t¼~Ñ?OÔ?OÐRZÒ?ZÐ?Zà”yÐ;Ð$;Ð;�yÐ$;Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;�yÐ$;Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;�sÑ;Ô;Ð;Õ;Ô;�sÑ;Ô;Ð;Ð;Õ;Ô;�yÑ;Ô;Õ;Ô;Ð$;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø×)Ò)¨,Ñ7Ô7ð T¸3Ø—’˜eÑ$Ô$Ð$Ø�˜˜[Ñ)Ô)Ð)¨7¨7°3¸Ñ+FÔ+FÐ+FØ—’�d¨ÀÐEÑEÔEÑFÔFÐFØ�g˜c ?Ñ3Ô3�Ø(7ð  NÀ#ð  NÐhxð  NMÐMdÐMdð  Mð  N�d¨À#ð  NMð  Nñ  Nô  Nð  N�sð  Nò  Nð  Nð  Nñ  Nõ  Nô  Nð  Nð  Nð  Nð  N�sð  Nð  Nñ  Nô  Nð  Nõ  Nô  Nñ  Nô  Nð  Nð  Nõ  Nô  N�sñ  Nô  Nð  Nõ  Nô  N�sñ  Nô  Nð  Nð  Nð  Nõ  Nô  Nñ  Nô  Nð  Nð  Nõ  Nô  N�dñ  Nô  Nð  Nõ  Nô  N�dñ  Nô  Nð  Nð  Nõ  Nô  N¨ñ  Nô  Nõ  Nô  NÀ#ñ  Nô  Nõ  Nô  Nð  NMñ  Nô  Nõ  Nô  Nð  Nñ  Nô  Nð  Nð  Nñ  Nð  Nð  Nð  Nð  Nð  Nñ  Nð  Nõ  Nõ  Nô  Nð  Nñ  Nô  Nñ  Nô  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  NØ#ð 5Ø�G˜CÐ!3Ñ4Ô4Ð4Ø—’˜cÑ"Ô"Ð"Ø�w˜s OÑ4Ô4°ZÔ@ÐGÀCÐGÐ@ÀCÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ@ÀCÐGÑGÔGÕGÔGÐ@ÑGÔGÕGÔGÀCÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGØ—’‘”�Ø$˜W SÐ*<Ñ=Ô=�
Ø—’˜cÑ"Ô"Ð"Ø�w˜s OÑ4Ô4°WÔ=ÐXÐAXÐXÐ=ÐAXÒXÐXÐXÐXÕXÔXÐXÐXÐXÐXÐ=ÐAXÐXÑXÔXÕXÔXÐ=ÑXÔXÕXÔXÐAXÑXÔXÐXÐXÑXÐXÐXÐXÐXÐXÑXÐXÕXÕXÔXÐXÑXÔXÑXÔXÐXÐXÐXÐXÐXÐXÐXØ$6ÐE�w�w˜sÐ$6Ñ7Ô7ÐEÐ7¸:ÒEÐEÐEÑEÕEÔEÐEÐEÐEÐEÐ7¸:ÐEÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE�wÑEÔEÐEÕEÔE�wÑEÔEÐEÐEÐEÕEÔEÑEÔEÐEÐEÕEÔE˜sÑEÔEÐEÕEÔE˜sÑEÔEÐEÐEÕEÔEÐ$6ÑEÔEÕEÔEÐ7ÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE¸:ÑEÔEÐEÕEÔE¸:ÑEÔEÐEÐEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØ—’�d¨ÀÐEÑEÔEÑFÔFÐFØ�˜˜_Ñ-Ô-Ð-Ø$6ÐE�w�w˜sÐ$6Ñ7Ô7ÐEÐ7¸:ÒEÐEÐEÑEÕEÔEÐEÐEÐEÐEÐ7¸:ÐEÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE�wÑEÔEÐEÕEÔE�wÑEÔEÐEÐEÐEÕEÔEÑEÔEÐEÐEÕEÔE˜sÑEÔEÐEÕEÔE˜sÑEÔEÐEÐEÕEÔEÐ$6ÑEÔEÕEÔEÐ7ÑEÔEÐEÕEÔEÑEÔEÐEÐEÕEÔE¸:ÑEÔEÐEÕEÔE¸:ÑEÔEÐEÐEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØSÐS�x”~ÐS¨ÐS�~¨Ò*ÐSÐSÐSÐSÐS¨w¬~ÐSÀÐS¨~ÀÒ/CÐSÐSÐSÐSÐSÈCÌGÐSÈGÈÐSÈÐSÐSÑSÕSÔSÐSÐSÐSÐS�~¨ÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS�xÑSÔSÐSÕSÔS�xÑSÔSÐSÐSÕSÔS�~ÑSÔSÕSÔS¨ÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÐSÑSÕSÔSÐSÐSÐSÐS¨~ÀÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS¨wÑSÔSÐSÕSÔS¨wÑSÔSÐSÐSÕSÔS¨~ÑSÔSÕSÔSÀÑSÔSÐSÐSÑSÐSÐSÐSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÐSÐSÐSÐSÕSÔSÑSÔSÐSÐSÕSÔSÈCÑSÔSÐSÕSÔSÈCÑSÔSÐSÐSÕSÔSÈGÑSÔSÐSÐSÑSÐSÐS×SÒSÐSÑSÔSÐSÕSÔSÐSÐSÑSÔSÐSÑSÐSÐSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSð%Tð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tð( �KŠK‰MŒMˆMˆMøˆG�KŠK‰MŒMˆMˆMøøøˆMðK%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %su   Æ4tÆ6sÇE.MÌ9sÍM		Í	sÍM		ÍEsÒ+`r>ò2sò>s	ósós	ósó	tós4ó4tôt	ôt	)Ú__doc__Úbuiltinsrs   Ú_pytest.assertion.rewriteÚ	assertionÚrewriteru   r   rh   rl   rz   ÚpytestÚfastapi.testclientr   Údevice_gateway.appro   rk   Údevice_gateway.authr   Údevice_gateway.stater   Útest_voice_settingsr   r   r   r	   ÚmarkÚparametrizer£   © r'   r&   ú<module>r²      s  ðØ JÐ JØ  € € € € € € € € € € € € €€€€Ø €€€Ø Ð Ð Ð Ø €€€à €€€Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ð „×ÒÐ+¨e°T¨]Ñ;Ô;ðHð Hñ <Ô;ðHð Hð Hr'   