ó
    ùÚ jð  ã                  ó|   • S r SSKJr  SSKJrJrJr  SSKJrJ	r	J
r
  \" SS15      r " S S\5      r " S	 S
\5      rg)z1review.json schema produced by the Code Reviewer.é    )Úannotations)ÚListÚLiteralÚOptional)Ú	BaseModelÚFieldÚfield_validatorÚcriticalÚhighc                  ó†   • \ rS rSr% S\S'   S\S'   SrS\S'   SrS	\S
'   S\S'   SrS\S'   \" SSS9\	SS j5       5       r
Srg)ÚReviewFindingé   z4Literal['critical', 'high', 'medium', 'low', 'info']ÚseverityÚstrÚcategoryNúOptional[str]ÚfilezOptional[int]ÚlineÚmessageTÚboolÚfixableÚbefore)Úmodec                ól   • [        U[        5      (       a  UR                  5       R                  5       $ U$ )zGOpenAI often returns 'High' / 'Medium'; accept case-insensitive values.)Ú
isinstancer   ÚstripÚlower)ÚclsÚvalues     Ú1/var/www/html/gaurav/packages/artifacts/review.pyÚnormalize_severityÚ ReviewFinding.normalize_severity   s+   € ô �eœS×!Ñ!Ø—;‘;“=×&Ñ&Ó(Ð(Øˆó    © )r   ÚobjectÚreturnr%   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   r   r   r	   Úclassmethodr!   Ú__static_attributes__r$   r#   r    r   r      sQ   ‡ ØBÓBØƒMØ€Dˆ-ÓØ€Dˆ-ÓØƒLØ€GˆTÓá�Z hÑ/Øóó ó 0ór#   r   c                  ó„   • \ rS rSr% S\S'   S\S'   S\S'   \" \S9rS	\S
'   S\S'   SrS\S'   Sr	S\S'   SS jr
SS jrSrg)ÚReviewArtifacté   r   Újira_keyr   ÚpassedÚintÚcycle)Údefault_factoryúList[ReviewFinding]ÚfindingsÚsummaryÚskippedÚstatic_analysis_statusNr   Únotesc                ón   • U R                    Vs/ sH  oR                  [        ;   d  M  UPM     sn$ s  snf ©N)r7   r   ÚBLOCKING_SEVERITIES)ÚselfÚfs     r    Úblocking_findingsÚ ReviewArtifact.blocking_findings&   s(   € ØŸ=š=ÓN™=�a¯J©JÔ:MÑ,M—™=ÑNÐNùÒNs   �2©2c                óB   • [        S U R                  5        5       5      $ )Nc              3  ó6   #   • U H  oR                   v •  M     g 7fr=   )r   )Ú.0r@   s     r    Ú	<genexpr>Ú6ReviewArtifact.has_fixable_blocking.<locals>.<genexpr>*   s   é € Ð?Ñ&> —9–9Ò&>ùs   ‚)ÚanyrA   )r?   s    r    Úhas_fixable_blockingÚ#ReviewArtifact.has_fixable_blocking)   s   € ÜÑ? d×&<Ñ&<Ô&>Ó?Ó?Ð?r#   r$   )r&   r6   )r&   r   )r'   r(   r)   r*   r+   r   Úlistr7   r:   r;   rA   rI   r-   r$   r#   r    r/   r/      sG   ‡ ØƒMØƒLØƒJÙ$)¸$Ñ$?€HÐ!Ó?ØƒLØ"+Ð˜CÓ+Ø€Eˆ=ÓôO÷@r#   r/   N)Ú__doc__Ú
__future__r   Útypingr   r   r   Úpydanticr   r   r	   Ú	frozensetr>   r   r/   r$   r#   r    Ú<module>rQ      sA   ðÙ 7å "ç *Ñ *ç 6Ñ 6á ¨VÐ 4Ó5Ð ô�Iô ô"@�Yõ @r#   