
    K{j                        S r SSKJr  SSKrSSKrSSKJrJrJr  Sr	Sr
\" 1 Sk5      rSr1 S	kr\R                  " S
\R                   5      r\R                  " S\R                   5      rSS jrSS jrSS jrSS jrg)u/   Los agentes solo atienden el ámbito PIE Chile.    )annotationsN)extract_name_tokens_from_textextract_rut_from_textwants_document_generationu  Solo puedo atender consultas del **PIE Chile** (Programa de Integración Escolar): informes psicopedagógicos, informes a la familia, estudiantes, NEE, Decreto 170 y la documentación del establecimiento en PIE360.

Esa pregunta está fuera de ese ámbito, por lo que no puedo responderla. Si necesitas un informe o un dato de un estudiante del PIE, indícalo con el RUT o el nombre y continúo.)?pieneepneemineducdecreto	inclusioninclusiinformepsicopedfamilia
estudiantealumnoalumnarutcuestionario
evaluacion	anamnesis
adecuacionaulacursocolegioliceoestablecimientoteatdatdahdildea	fonoaudioocupacionaldiferencialutppaipiadiagnosticoobservacionlogrado	apoderadofichabarrera	documentoword	plantillapautaespecialistaprofesional	mediacionapoyosintesis
sugerenciarecomendacioncamponarrativreescribredactanalisis
conclusioninstrumentoescalaingresoreevalupie360zintegracion escolar>   r   r   r0   r6   r:   r   rA   r=   r<   r/   r4   )climarecetafutbolpartidobitcoincryptopoemachistetraduce
traduccionnetflixpeliculacancioncocinaviajehotelz
capital dez
quien ganou   quien ganó	horoscopoloteria
videojuego	minecraftzwhatsapp api
javascriptpython	programarprogramacion>   nooksiholaokayvalebuenolistosiguethanksgraciascontinuaperfecto	entendido   sí	   continúa
de acuerdobuenos diasbuenas nochesbuenas tardesui   \b(?:20\d{2}|[1-8]\s*(?:medio|basico|básico)|[1-8]°|[1-8]ro|kinder|prekinder|[1-8]\s*[a-k]|curso\s+\S+)u   ^\s*(que|qué|como|cómo|por que|por qué|cual|cuál|quien|quién|donde|dónde|cuando|cuándo|explica|explícame|dime|cuentame|cuéntame|busca|search|what|who|where|when|why|how)\bc                    [         R                  " SU =(       d    S5      nSR                  S U 5       5      R                  5       n[        R
                  " SSU5      R                  5       $ )NNFKD c              3  `   #    U  H$  n[         R                  " U5      (       a  M   Uv   M&     g 7fN)unicodedata	combining).0cs     VC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\utils\agents_scope_guard.py	<genexpr>_fold.<locals>.<genexpr>   s     AS(=(=a(@!!Ss   .	.z\s+ )rv   	normalizejoinlowerresubstrip)valueraws     rz   _foldr      sQ    



4C
''ASA
A
G
G
IC66&#s#))++    c                   SU;   d  [        U5      S:  a  X;   $ [        U5      S::  a1  [        R                  " S[        R                  " U5       S3U 5      S L$ [        R                  " S[        R                  " U5       3U 5      S L$ )Nr}         z(?<![a-z0-9])z(?![a-z0-9]))lenr   searchescape)foldedterms     rz   	_has_termr      su    
d{c$i1n~
4yA~yyM"))D/):,GPX\\\99biio%67@LLr   c                0  ^ U =(       d    SR                  5       nU(       d  g[        U5      mT[        ;   a  g[        U5      (       a  g[	        T5      S:  a  [
        R                  U5      (       a  g[        U4S j[         5       5      nU(       a  g[        U4S j[         5       5      (       a  g[        U4S j[         5       5      (       a  g[        U5      (       a  g[	        [        U5      5      S:  a  [        R                  U5      (       d  gg)	zETrue si el mensaje puede tratarse como consulta PIE Chile / informes.rs   T0   c              3  R   >#    U  H  o[         ;  d  M  [        TU5      v   M     g 7fru   )_WEAK_PIE_TERMSr   rx   r   r   s     rz   r{   -message_is_pie_chile_scope.<locals>.<genexpr>   s&      ,6Do:U	&$Js   ''c              3  ,   >#    U  H	  oT;   v   M     g 7fru    r   s     rz   r{   r      s     
1jd6>js   Fc              3  <   >#    U  H  n[        TU5      v   M     g 7fru   )r   r   s     rz   r{   r      s     
?t9VT""s      )r   r   	_SHORT_OKr   r   _COURSE_HINT_REr   any
_PIE_TERMS
_OFF_TOPICr   r   r   _QUESTION_REmatch)textr   strongr   s      @rz   message_is_pie_chile_scoper      s    :2


C3ZFS!!
6{RO22377 ,6 F 

1j
111

?
??? %%
(-.!3L<N<Ns<S<Sr   c                "    [        U 5      (       + $ )z2Fuera de PIE Chile: rechazar sin llamar al modelo.)r   )r   s    rz   message_is_off_topicr      s    )$///r   )r   strreturnr   )r   r   r   r   r   bool)r   r   r   r   )__doc__
__future__r   r   rv   %app.backend.utils.agents_chat_contextr   r   r   SCOPE_REJECT_REPLYr   	frozensetr   r   r   compile
IGNORECASEr   r   r   r   r   r   r   r   rz   <module>r      s    5 " 	   @
F  
>	. **3MM zz& MM	,M80r   