
    i                         d dl mZmZmZmZ d dlmZmZ d dlm	Z	m
Z
mZ  G d de          Z G d de          Z G d d	e          Zd
S )    )ListLiteralOptionalUnion)	BaseModelField)HumanMessage	AIMessageSystemMessagec                      e Zd ZU  edd          Zee         ed<    ed          Zeed<    edg           Z	ee
eeeef                           ed	<    ed
d          Zee
         ed<    edd          Zee         ed<   dS )ChatRequestzConversation IDNdescriptiondefaultconversation_idzUser questionr   questionzConversation History with UserhistoryzList of RoomsroomListzCustomer IDcustomer_id)__name__
__module____qualname__r   r   r   str__annotations__r   r   r   r   r	   r
   r   r   r        1/var/www/html/ls-ibe-bot-apis/app/schemas/chat.pyr   r      s         %*U7HRV%W%W%WOXc]WWWEo666Hc666MRU_  JL  NM  NM  NMGXd5y-!GHIJ  M  M  M$u$OOOHhtnOOO!&=$!O!O!OK#OOOOOr   r   c                   $   e Zd ZU  ed          Zeeed                           ed<    edd          Z	ee
         ed<    ed	d          Zee         ed
<    edd          Zee         ed<    ed          Zeee                  ed<    edd          Zee         ed<    edd          Zee
         ed<    edd          Zee
         ed<    ed          Zeeed                           ed<    ed          Zee         ed<   dS )ChatAdditonalz-Actions Enum that need to trigger on frontendr   )z
change-urlscrollToactionsz5Info to Create Additonal Div in chat window componentNr   	createDivz$List of Rooms with Additonal Detailsr   z
Rooms InforoomInfozList of ids that are filteredroomIDszFetched schema entitiesentitiesz*Url which trigger with 'change-url' actionurlzOQuery Selector of Element upto which we scroll window automatically in frontendscrollToElementzAList for showing div of taking input of dates and count of person)actionAdult
actionDateshowDivzHDetails about the adult and children count and checkin and checkout datedetails)r   r   r   r   r"   r   r   r   r   r#   r   r   listr$   r%   intr&   dictr'   r(   r+   r,   r   r   r   r    r       s        AF  TC  BD  BD  BDGXd7#;<=>  D  D  D$u1hrvwwwIx}www$u1WaefffHhtnfff$utLLLHhtnLLL$)E6U$V$V$VGhtCy!VVV$u1JTXYYYHhtnYYY+WaefffC#fff%*U  8I  SW  &X  &X  &XOXc]  X  X  XEJU  X[  F\  F\  F\GhtG$?@AB  \  \  \#e0z{{{GXd^{{{{{r   r    c                       e Zd ZU  ed          Zeed<    edg           Zee	e                  ed<    edd          Z
ee         ed	<   dS )
ChatResponsezAssistant Answerr   answerzNGenerate 2-3 follow up questions which could be the next question of the user.r   followUpQuestionsz+Addiitonal Information to pass down to ChatN
additional)r   r   r   r   r2   r   r   r3   r   r   r4   r    r   r   r   r1   r1      s         %$6777FC777,1E  ?O  XZ  -[  -[  -[htCy)  [  [  [*/%<isw*x*x*xJ'xxxxxr   r1   N)typingr   r   r   r   pydanticr   r   langchain_core.messagesr	   r
   r   r   r    r1   r   r   r   <module>r8      s   1 1 1 1 1 1 1 1 1 1 1 1 % % % % % % % % J J J J J J J J J JP P P P P) P P P
| 
| 
| 
| 
|I 
| 
| 
|y y y y y9 y y y y yr   