Ë
    uPêjŒ  ã                   ó–   — d dl Z d dlmZmZ deeef   dedz  fd„Zdededz  defd„Z	 dd	eeef   deeef   dedz  deeef   fd
„Zy)é    N)ÚAnyÚFinalÚparamsÚreturnc                 ó‚   — | j                  di «      }t        |t        «      r|j                  d«      S t        |dd «      S )NÚmessageÚ	contextId)ÚgetÚ
isinstanceÚdictÚgetattr)r   r   s     ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/langflow/a2a.pyÚget_session_id_from_a2a_paramsr      s:   € Ø—Z‘Z 	¨2Ó.€GÜ�'œ4Ô Ø�{‰{˜;Ó'Ð'Ü�7˜K¨Ó.Ð.ó    Ú
session_idÚ	principalc                 ó‚   — |s| S t        j                  |j                  d«      «      j                  «       dd }|› d| › �S )a·  
    Bind a client-supplied A2A contextId to the authenticated principal.

    Without this, two distinct keys authorized for the same LangFlow agent could
    set the same contextId and read/append to each other's LangFlow memory. The
    principal is hashed (it is already a hashed token) so the raw value is never
    sent to the LangFlow backend, while the original contextId is kept as a
    suffix for operator-side correlation.
    zutf-8Né   ú-)ÚhashlibÚsha256ÚencodeÚ	hexdigest)r   r   Úprincipal_prefixs      r   Úscope_session_to_principalr      sK   € ñ ØÐÜ%Ÿn™n¨Y×-=Ñ-=¸gÓ-FÓG×QÑQÓSÐTWÐUWÐXÐØÐ˜q  Ð-Ð-r   Úlitellm_paramsc                 ó\   — t        | «      }t        |«      }|rd|vrt        ||«      |d<   |S )Nr   )r   r   r   )r   r   r   Úmergedr   s        r   Ú%merge_a2a_session_into_litellm_paramsr      s8   € ô
 ˜Ó(€FÜ6°vÓ>€JÙ�l¨&Ñ0Ü9¸*ÀiÓPˆˆ|ÑØ€Mr   )N)	r   Útypingr   r   r   Ústrr   r   r   © r   r   ú<module>r#      s’   ðÛ ß ð/¨4°°S°©>ð /¸cÀD¹jó /ð.¨3ð .¸3À¹:ð .È#ó .ð& !ñ	Ø˜˜c˜‘Nð	à��c�‰Nð	ð �T‰zð	ð 
ˆ#ˆsˆ(�^ô		r   