
    Yj|	                         d dl mZ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y
)    )AnyListLiteralOptionalUnion)	BaseModelField)HumanMessage	AIMessageSystemMessagec                   8   e Zd ZU  edd      Zee   ed<    ed      Zeed<    edd      Z	e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<    edd      Zee   ed<    edd      Zee   ed<   y)ChatRequestzConversation IDNdescriptiondefaultconversation_idzUser questionr   questionz
Audio FileaudiozConversation History with UserhistoryzList of RoomsroomListzCustomer IDcustomer_idz	Cart Data	cart_datazCustomer Detailscustomer_details)__name__
__module____qualname__r	   r   r   str__annotations__r   r   r   r   r   r
   r   r   r   r   r   r   r        9/var/www/html/ls-ibe-bot-apis-staging/app/schemas/chat.pyr   r      s    %*7HRV%WOXc]Wo6Hc6 \4HE8C=HMR_  JL  NMGXd5y-!GHIJ  M$$OHhtnO!&=$!OK#O$dKIx}K&+8JTX&YhsmYr!   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<   y)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/   r0   r    r!   r"   r$   r$      s   AF  TC  BDGXd7#;<=>  D$1hrvwIx}w$1WaefHhtnf$tLHhtnL$)6U$VGhtCy!V$1JTXYHhtnY+WaefC#f%*  8I  SW  &XOXc]  XEJ  X[  F\GhtG$?@AB  \#0z{GXd^{r!   r$   c                   x    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	<   y)
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	   r6   r   r   r7   r   r   r8   r$   r    r!   r"   r5   r5      sT    $67FC7,1  ?O  XZ  -[htCy)  [*/<isw*xJ'xr!   r5   N)typingr   r   r   r   r   pydanticr   r	   langchain_core.messagesr
   r   r   r   r$   r5   r    r!   r"   <module>r<      s>    6 6 % J JZ) Z
|I 
|y9 yr!   