§
    ¦eîi‡  ã                  ób   — d Z ddlmZ ddlmZmZmZ dZdd„Zdd„Z		 	 ddd„Z
	 	 ddd„Zdd„ZdS )z@Tracking for SDK helper usage via the x-stainless-helper header.é    )Úannotations)ÚAnyÚDictÚcastÚ_stainless_helperÚobjr   ÚnameÚstrÚreturnÚNonec                óz   — 	 t                                | t          |¦  «         dS # t          t          f$ r Y dS w xY w)z0Mark an object as created by a named SDK helper.N)ÚobjectÚ__setattr__Ú_HELPER_ATTRÚAttributeErrorÚ	TypeError)r   r	   s     úd/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/anthropic/lib/_stainless_helpers.pyÚ
tag_helperr   
   sL   € ðÝ×Ò˜3¥¨dÑ3Ô3Ð3Ð3Ð3øÝ�IÐ&ð ð ð Øˆˆðøøøs   ‚!% ¥:¹:r   ú
str | Nonec                ó.   — t          | t          d¦  «        S )z+Get the helper name from an object, if any.N)Úgetattrr   )r   s    r   Úget_helper_tagr      s   € å�3� dÑ+Ô+Ð+ó    NÚtoolsÚmessagesú	list[str]c                ón  — t          ¦   «         }| r+| D ](}t          |¦  «        }|�|                     |¦  «         Œ)|rê|D ]ç}t          |¦  «        }|�|                     |¦  «         t          |t          ¦  «        r;t          t          t          t          f         |¦  «         	                    d¦  «        }nt          |dd¦  «        }t          |t          ¦  «        rIt          t          t                   |¦  «        D ](}t          |¦  «        }|�|                     |¦  «         Œ)Œèt          |¦  «        S )z:Collect deduplicated helper names from tools and messages.NÚcontent)Úsetr   ÚaddÚ
isinstanceÚdictr   r   r
   r   Úgetr   Úlistr   )r   r   ÚhelpersÚtoolÚtagÚmessageÚblocksÚblocks           r   Úcollect_helpersr+      s1  € õ
 ™œ€Gàð !Øð 	!ð 	!ˆDÝ  Ñ&Ô&ˆCØˆØ—’˜CÑ Ô Ð øàð )Øð 	)ð 	)ˆGÝ  Ñ)Ô)ˆCØˆØ—’˜CÑ Ô Ð õ ˜'¥4Ñ(Ô(ð ;Ý"¥4­­S¨¤>°7Ñ;Ô;×?Ò?À	ÑJÔJ��å  ¨)°TÑ:Ô:�Ý˜&¥$Ñ'Ô'ð )Ý!¥$¥v¤,°Ñ7Ô7ð )ð )�EÝ(¨Ñ/Ô/�CØ�ØŸš CÑ(Ô(Ð(øøå�‰=Œ=Ðr   údict[str, str]c                óX   — t          | |¦  «        }|si S dd                     |¦  «        iS )zvBuild x-stainless-helper header dict from tools and messages.

    Returns an empty dict if no helpers are found.
    úx-stainless-helperz, )r+   Újoin)r   r   r%   s      r   Ústainless_helper_headerr0   8   s7   € õ ˜e XÑ.Ô.€GØð Øˆ	Ø  $§)¢)¨GÑ"4Ô"4Ð5Ð5r   Úfilec                ó0   — t          | ¦  «        }|€i S d|iS )z8Build x-stainless-helper header dict from a file object.Nr.   )r   )r1   r'   s     r   Ú!stainless_helper_header_from_filer3   F   s$   € å
˜Ñ
Ô
€CØ
€{Øˆ	Ø  #Ð&Ð&r   )r   r   r	   r
   r   r   )r   r   r   r   )NN)r   r   r   r   r   r   )r   r   r   r   r   r,   )r1   r   r   r,   )Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   r   r+   r0   r3   © r   r   ú<module>r8      sÉ   ðØ FÐ Fà "Ð "Ð "Ð "Ð "Ð "à "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à"€ðð ð ð ð,ð ,ð ,ð ,ð Øðð ð ð ð ðD Øð6ð 6ð 6ð 6ð 6ð'ð 'ð 'ð 'ð 'ð 'r   