Ë
    ÝjU	  ã                   ór   — d Z ddlZddlmZ ddlmZ d„ Z G d„ de«      Zedk(  r ej                  «        yy)	ua   Routing-EingÃ¤nge Ã¼ber das Gateway: KontextgrÃ¶ÃŸe, QualitÃ¤tsuntergrenze, QualitÃ¤t je Aufgabe.é    N)ÚHandling)ÚGatewayTestCasec                 ó8   ‡— t        ˆfd„| d   d   D «       «      S )Nc              3   ó4   •K  — | ]  }|d    ‰k(  sŒ|–— Œ y­w)ÚbackendN© )Ú.0Úcr   s     €ú3/home/aria/aria-v3-dev/python/tests/test_routing.pyú	<genexpr>zcandidate.<locals>.<genexpr>
   s   øè ø€ ÒV�a¸aÀ	¹lÈgÓ>U”ÑVùs   ƒ‘ÚroutingÚ
candidates)Únext)Úrecordr   s    `r   Ú	candidater   	   s   ø€ ÜÓV˜6 )Ñ,¨\Ñ:ÔVÓVÐVó    c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚRoutingInputTestsc                 ó  — | j                  ddddiii«      }|j                  | j                  dd«      «      }| j                  |j                  d«       | j                  dt        | j                  |«      d	   d«      d
   «       y )NÚbackendsÚcodexÚmax_context_byteséd   é   u  #public erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re erklÃ¤re ÚclaudeÚCONTEXT_TOO_LARGEéÿÿÿÿÚreasons)ÚgatewayÚhandleÚrequestÚassertEqualr   ÚassertInr   Údecision_records)Úselfr   Úresults      r   Ú"test_context_size_routes_to_claudez4RoutingInputTests.test_context_size_routes_to_claude   s|   € Ø—,‘, 
¨WÐ7JÈCÐ6PÐ,QÐRÓSˆØ—‘ §¡¨QÐ0MÓ NÓOˆØ×Ñ˜Ÿ™¨Ô2Ø�‰Ð)¬9°T×5JÑ5JÈ7Ó5SÐTVÑ5WÐY`Ó+aÐbkÑ+lÕmr   c                 óð  — | j                  dddii«      }|j                  | j                  dd«      «      }| j                  |j                  |j
                  ft        j                  df«       | j                  |«      d   }| j                  dt        |d	«      d
   «       | j                  ddidddiidœ«      }| j                  |j                  | j                  dd«      «      j                  d«       y )Nr   Úmin_qualityé_   é   z#public FrageÚNO_ELIGIBLE_BACKENDr   ÚQUALITY_BELOW_MINIMUMr   r   r   Úqualityé`   )r   r   é   )r   r    r!   r"   ÚhandlingÚcoder   ÚBLOCKEDr$   r#   r   r   )r%   r   Úblockedr   Úbetters        r   Ú$test_quality_floor_excludes_backendsz6RoutingInputTests.test_quality_floor_excludes_backends   sÝ   € Ø—,‘, 	¨M¸2Ð+>Ð?Ó@ˆØ—.‘. §¡¨a°Ó!AÓBˆØ×Ñ˜'×*Ñ*¨G¯L©LÐ9¼H×<LÑ<LÐNcÐ;dÔeØ×&Ñ& wÓ/°Ñ3ˆØ�‰Ð-¬y¸ÀÓ/IÈ)Ñ/TÔUØ—‘¨=¸"Ð*=ÈHÐW`ÐbdÐVeÐKfÑgÓhˆØ×Ñ˜Ÿ™ t§|¡|°A°Ó'GÓH×PÑPÐRZÕ[r   c                 ó   — | j                  dddddidœii«      }| j                  |j                  | j                  dd«      «      j                  d«       | j                  |j                  | j                  d	d
«      «      j                  d«       | j                  |«      }| j                  |dd  D �cg c]  }|d   ‘Œ	 c}ddg«       y c c}w )Nr   r   éP   Úcodingr*   )r.   Útask_qualityé   z#public Bitte debug mein Pythoné   z!#public Schreib einen kurzen Textr   éþÿÿÿÚ
task_classÚwriting)r   r"   r    r!   r   r$   )r%   r   ÚrecordsÚrs       r   Útest_task_specific_qualityz,RoutingInputTests.test_task_specific_quality   s»   € Ø—,‘, 
¨WÀ"ÐW_ÐacÐVdÑ6eÐ,fÐgÓhˆØ×Ñ˜Ÿ™¨¯©°QÐ8YÓ(ZÓ[×cÑcÐelÔmØ×Ñ˜Ÿ™¨¯©°QÐ8[Ó(\Ó]×eÑeÐgoÔpØ×'Ñ'¨Ó0ˆØ×Ñ°7¸2¸3°<Ö@¨a˜!˜L›/Ò@À8ÈYÐBWÕXùÒ@s   Â4Cc                 óJ  — | j                  «       }ddlm} |j                  | j	                  dd |«       g¬«      «      }| j                  |j                  d«       | j                  |«      d   }| j                  |d   d	«       | j                  d
t        |d«      d   «       y )Nr   )Úphotoé   zWas ist auf dem Bild?)Úattachmentsr   r   r>   ÚvisionÚCAPABILITY_MISSINGr   r   )
r   Útests.helpersrD   r    r!   r"   r   r$   r#   r   )r%   r   rD   r&   r   s        r   Ú"test_capability_vision_only_claudez4RoutingInputTests.test_capability_vision_only_claude$   sŽ   € Ø—,‘,“.ˆÝ'Ø—‘ §¡¨QÐ0GÑV[ÓV]ÐU^ Ó _Ó`ˆØ×Ñ˜Ÿ™¨Ô2Ø×&Ñ& wÓ/°Ñ3ˆØ×Ñ˜ Ñ-¨xÔ8Ø�‰Ð*¬I°f¸gÓ,FÀyÑ,QÕRr   N)Ú__name__Ú
__module__Ú__qualname__r'   r6   rB   rJ   r   r   r   r   r      s   „ ònò\òYóSr   r   Ú__main__)
Ú__doc__ÚunittestÚaria_router.gatewayr   rI   r   r   r   rK   Úmainr   r   r   ú<module>rS      s@   ðÙ gÛ å (å )òWôS˜ô SðB ˆzÒØ€H‡M�M…Oð r   