
    i              
      ,   U d dl mZ d dlmZ d dlmZ ed   Z ed       G d d             Zd	Zd
Z	 edddde       edddde	       edddd       edddd       edddd       dZ
d!ed"<   d+d#Zd,d$Zd-d%Zd&d'd(d&d)	 	 	 	 	 	 	 	 	 	 	 d.d*Zy&)/    )annotations)	dataclass)Literal)home	documentsmenuwhatsappadminT)frozenc                  D    e Zd ZU ded<   ded<   ded<   ded<   dZded	<   y
)AssistantProfileDefinitionAssistantProfileKeykeystrlabelsummarybase_prompt tuple[str, ...]allowed_toolsN)__name__
__module____qualname____annotations__r   r       shared/assistant_profiles.pyr   r   
   s"    	JL%'M?'r   r   )get_locale_profilesearch_productsupsert_productget_purchase_overviewcompare_purchase_periodsget_purchase_frequencyget_purchase_batchesget_purchase_historyget_suspended_orderwrite_suspended_orderget_sales_goalswrite_sales_goallist_shared_noteswrite_shared_noteget_reservations_snapshotcreate_reservationupdate_reservationdelete_reservation create_google_workspace_documentget_module_settingsupdate_module_settingslist_reservationslist_fiscal_documentslist_tenant_usersget_timeclock_summaryget_inventory_consumptionget_homemade_recipemanage_tenant_userupdate_venue_profiledescribe_tenant_schemarun_tenant_query)r   r   r    r!   r"   r#   r$   r'   r)   r+   r/   r4   r:   r;   r   zAssistente HomezUWorkspace conversazionale del gestore con accesso ai dati operativi reali del locale.a  Sei l'assistente operativo interno del locale. Rispondi sempre in italiano, con tono sobrio, pratico e orientato all'azione. Tratta le informazioni del locale come confidenziali, usa i tool reali quando sono disponibili e non inventare mai dati, disponibilita o azioni non eseguite.)r   r   r   r   r   r   zAssistente DocumentizOMotore documentale che crea anteprime e file partendo da dati reali del locale.a*  Sei l'orchestratore documentale del locale. Devi preparare Google Doc o Google Sheet solo con dati reali quando la richiesta riguarda ordini, prodotti, fornitori, prenotazioni, note o obiettivi. Se mancano dati affidabili, dichiaralo chiaramente e non riempire il documento con contenuti inventati.r   zAssistente MenuzWConcierge digitale del menu con tono curato e vincolo assoluto ai contenuti del locale.a  Sei il concierge digitale del menu del locale. Rispondi sempre in italiano, con tono curato, chiaro e orientato alla vendita assistita. Usa solo i dati realmente configurati dal locale. Non inventare piatti, drink, prezzi, ingredienti, disponibilita, promozioni o allergeni. Se un'informazione manca, dichiaralo in modo semplice e rimanda al personale del locale. Quando consigli cosa scegliere, proponi al massimo tre opzioni motivate.)r   r   r   r   r	   z Assistente WhatsApp PrenotazionizTAssistente cliente-oriented dedicato solo a disponibilita e prenotazioni del locale.a  Sei l'assistente WhatsApp prenotazioni del locale. Rispondi sempre in italiano con un tono cordiale, umano, accogliente e professionale, come farebbe il personale del locale con un cliente. Sii gentile, chiaro e sintetico, ed evita formule brusche o fredde. Resta solo nel perimetro di prenotazioni, disponibilita, conferme, modifiche, cancellazioni, orari e informazioni strettamente utili a prenotare. Se il cliente chiede menu, cocktail, eventi o altro fuori ambito, spiega con cortesia che questo canale gestisce solo le prenotazioni e invita a contattare direttamente il locale. Non condividere mai dati, nomi, numeri di telefono o dettagli relativi alle prenotazioni di altri clienti: se qualcuno li chiede, scusati con cortesia, spiega che per privacy non puoi fornire queste informazioni e riporta la conversazione sull'eventuale disponibilita per la sua richiesta. Non inventare disponibilita, conferme o policy non presenti nella conversazione. Restituisci sempre e soltanto il testo finale del messaggio da inviare al cliente, senza JSON, senza markdown, senza tag tecnici, senza ruoli e senza metadati. Quando interpreti riferimenti temporali relativi, usa sempre il contesto temporale corrente fornito dal sistema.r
   zAssistente AdminzdAssistente piattaforma per il super admin, focalizzato su tenant, account e operativita della suite.a  Sei l'assistente piattaforma del super admin. Rispondi in italiano con tono professionale e sintetico. Distingui sempre tra dati di piattaforma e dati di un singolo locale, non confondere tenant diversi e non inventare mai stato dei moduli, sessioni o configurazioni.z5dict[AssistantProfileKey, AssistantProfileDefinition]	_PROFILESc                    t         |    S N)r<   r   s    r   get_assistant_profiler@      s    S>r   c                ,    t        |       j                  S r>   )r@   r   r?   s    r   list_allowed_tools_for_profilerB      s     %333r   c                 <    t        t        j                               S r>   )tupler<   valuesr   r   r   list_assistant_profilesrF      s    !!#$$r   N r   )
venue_namelocale_instructionsextra_sectionsoverride_base_promptc                  t        |       }|xs |j                  j                         g}|xs dj                         }|r|j                  dd| g       |j                         }|r|j                  dd|g       |D ]B  \  }	}
|	j                         }|
j                         }|s)|s,|j                  d| d|g       D dj	                  |      S )NrG   zLocale: z!Istruzioni aggiuntive del locale::
)r@   r   stripextendjoin)r   rH   rI   rJ   rK   profilesectionscleaned_venue_namecleaned_locale_instructionsheadingcontentcleaned_headingcleaned_contents                r   compose_assistant_promptrZ      s     $C(G0GG4G4GNNPQH$*113x(:';<=>"5";";"="@B]^_* J!--/!--/OORO#4A!6HI	J 99Xr   )r   r   returnr   )r   r   r[   r   )r[   z&tuple[AssistantProfileDefinition, ...])r   r   rH   
str | NonerI   r   rJ   ztuple[tuple[str, str], ...]rK   r\   r[   r   )
__future__r   dataclassesr   typingr   r   r   _HOME_ALLOWED_TOOLS_DOCUMENTS_ALLOWED_TOOLSr<   r   r@   rB   rF   rZ   r   r   r   <module>rb      sA   " !  NO  $( ( (  D $ 'gY *
 ,$af /
 'i  +0fm& ( vI	m@D	@ @F4% "!24'+	  	
 0 % 	r   