Ë
    áß²j   ã                  ól   — d Z ddlmZ ddlZddlmZ  eddh«      Z eh d£«      Zdd„Z	d	Z
dd
„Zdd„Zy)z4Shared helpers for classifying tool result payloads.é    )ÚannotationsN)ÚAnyÚ
write_fileÚpatch>   Ú	read_fileÚ
skill_viewÚ
web_searchÚskills_listÚweb_extractÚsearch_filesÚread_terminalÚsession_searchÚvision_analyzeÚbrowser_consoleÚbrowser_snapshotÚbrowser_get_imagesc                ó   — | t         vS )N)ÚNO_EFFECT_TOOL_NAMES)Ú	tool_names    úE/home/ubuntu/.hermes/hermes-agent/agent/tool_result_classification.pyÚtool_may_have_side_effectr      s   € ØÔ0Ð0Ð0ó    Úguardrail_refusalc                óÞ   — | }t        | t        «      r$	 t        j                  | j	                  «       «      }t        |t        «      xr |j                  t        «      du S # t
        $ r Y yw xY w)zNReturn True when ``result`` (JSON string or parsed dict) is a harness refusal.FT)	Ú
isinstanceÚstrÚjsonÚloadsÚstripÚ	ExceptionÚdictÚgetÚGUARDRAIL_REFUSAL_KEY)ÚresultÚdatas     r   Úis_guardrail_refusalr&   !   sa   € à€DÜ�&œ#Ôð	Ü—:‘:˜fŸl™l›nÓ-ˆDô �dœDÓ!ÒM d§h¡hÔ/DÓ&EÈÐ&MÐMøô ò 	Ùð	ús   ”#A  Á 	A,Á+A,c                ó"  — | t         vst        |t        «      sy	 t        j                  |j                  «       «      }t        |t        «      r|j                  d«      ry| dk(  rd|v S | dk(  r|j                  d«      du S y# t        $ r Y yw xY w)z@Return True when a file mutation result proves the write landed.FÚerrorr   Úbytes_writtenr   ÚsuccessT)	ÚFILE_MUTATING_TOOL_NAMESr   r   r   r   r   r    r!   r"   )r   r$   r%   s      r   Úfile_mutation_result_landedr,   ,   s�   € àÔ0Ñ0¼
À6Ì3Ô8OØðÜ�z‰z˜&Ÿ,™,›.Ó)ˆô �dœDÔ! T§X¡X¨gÔ%6ØØ�LÒ Ø $Ð&Ð&Ø�GÒØ�x‰x˜	Ó" dÐ*Ð*Øøô ò Ùðús   ›#B Â	BÂB)r   r   ÚreturnÚbool)r$   r   r-   r.   )r   r   r$   r   r-   r.   )Ú__doc__Ú
__future__r   r   Útypingr   Ú	frozensetr+   r   r   r#   r&   r,   © r   r   ú<module>r4      sM   ðÙ :å "ã Ý ñ % l°GÐ%<Ó=Ð ñ !ò "ó Ð ó1ð ,Ð óNôr   