+
    ]Qj                        ^ RI Ht ^ RIHtHt  ! R R]4      t ! R R]4      t ! R R]4      t ! R	 R
]4      t ! R R]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R ]4      t ! R! R"]4      t ! R# R$]4      t ! R% R&]4      t ! R' R(]4      tR)# )*    )Literal)	BaseModelFieldc                   0   a  ] tR t^t o RtV 3R ltRtV tR# )ChatMessageNc                Z   < V ^8  d   Qh/ S[ R,          ;R&   S[;R&   S[R,          ;R&   # )   rolecontentN	timestamp)user	assistant)r   str)format__classdict__s   "3C:\xampp\htdocs\meridian\meridian-ai\app\schemas.py__annotate__ChatMessage.__annotate__   s1     
%
&& L  Tz       )__name__
__module____qualname____firstlineno__r   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s      !I  r   r   c                   D   a  ] tR t^t o RtRtRtRtRtRt	V 3R lt
RtV tR# )TripSpeczMirrors goplaces_backend/v4/persistence.py's DEFAULT_TRIP_SPEC shape - kept as a
free-ish dict for budget/travelers since the caller (Meridian-Backend) owns the
canonical structure and this service shouldn't need to change when that does.
Nc                   < V ^8  d   Qh/ S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[R,          ;R&   S[R,          ;R&   # )r	   N	home_city
start_dateend_datebudget	travelers)r   dict)r   r   s   "r   r   TripSpec.__annotate__   sZ      Tz   d
!  Dj  4K  d{! r   r   )r   r   r   r   __doc__r"   r#   r$   r%   r&   r   r   r   r   s   @r   r    r       s,     
 !I!JHF!I  r   r    c                   8   a  ] tR t^t o RtRtRtV 3R ltRtV t	R# )CostNTc                Z   < V ^8  d   Qh/ S[ R,          ;R&   S[R,          ;R&   S[;R&   # )r	   Namountcurrencyis_estimate)floatr   bool)r   r   s   "r   r   Cost.__annotate__   s0     DL Dj   r   r   )
r   r   r   r   r-   r.   r/   r   r   r   r   s   @r   r+   r+      s     FHK  r   r+   c                      a  ] tR t^"t o RtRt]! ]R7      t]! ]R7      t	]! ]R7      t
]! ]R7      t^tRtRtV 3R ltRtV tR# )GenerateItineraryRequestNdefault_factoryc                
  < V ^8  d   Qh/ S[ ;R&   S[R,          ;R&   S[R,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[;R	&   S[ R,          ;R
&   S[ R,          ;R&   # )r	   
trip_briefN	trip_specpreferencesanswered_questionsflight_candidatesstay_candidatesevent_candidatesnum_optionsprovidermodel)r   r    r'   listint)r   r   s   "r   r   %GenerateItineraryRequest.__annotate__"   s     O $%  #  T
@	  Dz?  $Z=  4j>     Dj! " :# r   r   )r   r   r   r   r9   r:   r   rB   r;   r<   r=   r>   r?   r@   rA   r   r   r   r   s   @r   r4   r4   "   sT     !%I#K%*4%@
 %*$$?"'"=O#(#>K  HE#  r   r4   c                   B   a  ] tR t^6t o ]! ]R7      tRtV 3R ltRt	V t
R# )ItineraryDestinationr5   Nc                P   < V ^8  d   Qh/ S[ S[,          ;R&   S[R,          ;R&   # )r	   
activitiesNestimated_cost)rB   r   r+   )r   r   s   "r   r   !ItineraryDestination.__annotate__6   s#     S	7 4K& r   r   )r   r   r   r   r   rB   rH   rI   r   r   r   r   s   @r   rF   rF   6   s     !$7J"&N  r   rF   c                   B   a  ] tR t^;t o Rt]! ]R7      tV 3R ltRt	V t
R# )ItineraryDayNr5   c                V   < V ^8  d   Qh/ S[ R,          ;R&   S[S[ S[3,          ;R&   # )r	   Ntitledestinations)r   r'   rF   )r   r   s   "r   r   ItineraryDay.__annotate__;   s,     :  s001O	 r   r   )r   r   r   r   rN   r   r'   rO   r   r   r   r   s   @r   rL   rL   ;   s     E 5:$4OL	  r   rL   c                   X   a  ] tR t^Bt o RtRtRtRtRtRt	Rt
RtRtRtRtV 3R ltRtV tR# )SelectedFlightzQA flight chosen (or estimated) by the model for one leg of this itinerary option.NTc                  < V ^8  d   Qh/ S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[R,          ;R&   S[ R,          ;R	&   S[ R,          ;R
&   S[;R&   # )r	   Nairlineflight_numberdeparture_airportarrival_airportdeparture_datetimearrival_datetimecostr.   booking_urlr/   r   r0   r1   )r   r   s   "r   r   SelectedFlight.__annotate__B   s     4Z  :$  Tz(	 
 4Z&  d
)  Dj'  $,  Dj  t"   r   r   )r   r   r   r   r)   rT   rU   rV   rW   rX   rY   rZ   r.   r[   r/   r   r   r   r   s   @r   rR   rR   B   sD     [G $M$("&O%)#'DH"KK  r   rR   c                   P   a  ] tR t^Pt o RtRtRtRtRtRt	Rt
RtRtV 3R ltRtV tR# )SelectedStayzNAn accommodation chosen (or estimated) by the model for this itinerary option.NTc                   < V ^8  d   Qh/ S[ ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   S[R,          ;R&   S[ R,          ;R&   S[ R,          ;R	&   S[;R
&   # )r	   nameNaddresscheck_in_datecheck_out_date	room_typecost_per_nightr.   r[   r/   r\   )r   r   s   "r   r   SelectedStay.__annotate__P   s     
I  4Z  :$	 
 $J%  Tz   DL'  Dj  t"   r   r   )r   r   r   r   r)   rb   rc   rd   re   rf   r.   r[   r/   r   r   r   r   s   @r   r_   r_   P   s7     XG $M!%N I#'NH"KK  r   r_   c                   j   a  ] tR t^]t o RtRt]! ]R7      t]! ]	R7      t
]! ]	R7      tV 3R ltRtV tR# )ItineraryOptionFNr5   c                   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[ ;R&   S[R,          ;R&   S[S[ S[3,          ;R&   S[S[,          ;R&   S[S[,          ;R	&   # )
r	   letterra   
is_ai_picksummaryN
total_costdaysflightsstays)r   r1   r+   r'   rL   rB   rR   r_   )r   r   s   "r   r   ItineraryOption.__annotate__]   s~     K 
I    L	 
 t"  sL 
!?  .!?  ; r   r   )r   r   r   r   rl   rn   r   r'   ro   rB   rp   rq   r   r   r   r   s   @r   ri   ri   ]   s6      J"J$)$$?D$)$$?G %d ;E  r   ri   c                   B   a  ] tR t^ht o Rt]! ]R7      tV 3R ltRt	V t
R# )GenerateItineraryResponseNr5   c                l   < V ^8  d   Qh/ S[ S[,          ;R&   S[R,          ;R&   S[ S[,          ;R&   # )r	   optionsNprovider_usedskipped_providers)rB   ri   r   r'   )r   r   s   "r   r   &GenerateItineraryResponse.__annotate__h   s7     /"" 
 :$  Dz? r   r   )r   r   r   r   rw   r   rB   rx   r   r   r   r   s   @r   rt   rt   h   s     
 !%M$)$$?  r   rt   c                   4   a  ] tR t^tt o RtRtV 3R ltRtV tR# )SuggestQuestionsRequestNc                Z   < V ^8  d   Qh/ S[ ;R&   S[R,          ;R&   S[R,          ;R&   # )r	   r8   Nr9   r:   )r   r    r'   )r   r   s   "r   r   $SuggestQuestionsRequest.__annotate__t   s/     O $%  # r   r   )	r   r   r   r   r9   r:   r   r   r   r   s   @r   r{   r{   t   s     !%I#K  r   r{   c                   B   a  ] tR t^zt o Rt]! ]R7      tV 3R ltRt	V t
R# )SuggestedQuestionsingle_choicer5   c                h   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[R,          ;R&   S[S[ ,          ;R&   # )r	   idtexttyperv   )r   	free_text)r   r   rB   )r   r   s   "r   r   SuggestedQuestion.__annotate__z   s=     G 
I  .
/A  #Y4	 r   r   N)r   r   r   r   r   r   rB   rv   r   r   r   r   s   @r   r   r   z   s      3BDt4G	  r   r   c                   ,   a  ] tR t^t o V 3R ltRtV tR# )SuggestQuestionsResponsec                6   < V ^8  d   Qh/ S[ S[,          ;R&   # )r	   	questions)rB   r   )r   r   s   "r   r   %SuggestQuestionsResponse.__annotate__   s     %&& r   r   Nr   r   r   r   r   r   r   r   s   @r   r   r            r   r   c                   4   a  ] tR t^t o Rt^tV 3R ltRtV tR# )SuggestResponseRequestNc                \   < V ^8  d   Qh/ S[ S[,          ;R&   S[R,          ;R&   S[;R&   # )r	   conversation_historyNtrip_contextnum_suggestions)rB   r   r'   rC   )r   r   s   "r   r   #SuggestResponseRequest.__annotate__   s1     {++ +$   r   r   )	r   r   r   r   r   r   r   r   r   r   s   @r   r   r      s      $LO  r   r   c                   ,   a  ] tR t^t o V 3R ltRtV tR# )ResponseSuggestionc                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # )r	   r   tone)r   )r   r   s   "r   r   ResponseSuggestion.__annotate__   s     
I 
I r   r   Nr   r   s   @r   r   r      r   r   r   c                   >   a  ] tR t^t o ]! ]R7      tV 3R ltRtV t	R# )SuggestResponseResponser5   c                R   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   # )r	   suggestionscontext_used)rB   r   r   )r   r   s   "r   r   $SuggestResponseResponse.__annotate__   s%     ()) s)9 r   r   N)
r   r   r   r   r   rB   r   r   r   r   r   s   @r   r   r      s     #D9L  r   r   c                   J   a  ] tR t^t o RtRt]! ]R7      t^t	V 3R lt
RtV tR# )RecommendStayRequestNr5   c                   < V ^8  d   Qh/ S[ ;R&   S[R,          ;R&   S[ R,          ;R&   S[S[ ,          ;R&   S[;R&   # )r	   	itineraryNr9   r:   
candidatesnum_recommendations)r'   r    rB   rC   )r   r   s   "r   r   !RecommendStayRequest.__annotate__   sM     O $%  #  T
8    r   r   )r   r   r   r   r9   r:   r   rB   r   r   r   r   r   r   s   @r   r   r      s(     !%I#K #48J   r   r   c                   @   a  ] tR t^t o RtRtRtRtRtV 3R lt	Rt
V tR# )StayRecommendationNFc                   < V ^8  d   Qh/ S[ ;R&   S[ R,          ;R&   S[R,          ;R&   S[ R,          ;R&   S[ ;R&   S[;R&   S[R
,          ;R&   S[ R,          ;R	&   # )r	   ra   Nlocationprice_per_nightr.   whyis_top_picksource
source_ref)search_candidatellm_suggested)r   r0   r1   r   )r   r   s   "r   r   StayRecommendation.__annotate__   s}     
I Dj  T\(  Dj	 
 
H    788  d
! r   r   )r   r   r   r   r   r   r.   r   r   r   r   r   r   s   @r   r   r      s%     H$(OHK!J  r   r   c                   ,   a  ] tR t^t o V 3R ltRtV tR# )RecommendStayResponsec                6   < V ^8  d   Qh/ S[ S[,          ;R&   # )r	   recommendations)rB   r   )r   r   s   "r   r   "RecommendStayResponse.__annotate__   s     ,-- r   r   Nr   r   s   @r   r   r      r   r   r   N)typingr   pydanticr   r   r   r    r+   r4   rF   rL   rR   r_   ri   rt   r{   r   r   r   r   r   r   r   r   r   r   r   <module>r      s     %!) !
"y 
"9 y ('9 '
P9 PY 
9 
<i <@	 @$i $5	 5'y 'Y  
:i :
!9 
!" ".I .r   