§
    $Èjþ  ã                   óø   — d Z ddlmZmZ ddlmZ e G d„ d¦  «        ¦   «         Ze G d„ d¦  «        ¦   «         Ze G d„ d	¦  «        ¦   «         Ze G d
„ d¦  «        ¦   «         Z	e G d„ d¦  «        ¦   «         Z
dS )zà
Typed metadata models for async operations.

These dataclasses define the structure of result_metadata for different operation types.
The metadata is exposed in the API for debugging purposes and may change without notice.
é    )ÚasdictÚ	dataclass)ÚAnyc                   ó\   — e Zd ZU dZeed<   eed<   eed<   dZeed<   dee	e
f         fd„Zd	S )
ÚBatchRetainParentMetadatazJMetadata for parent batch_retain operations (when split into sub-batches).Úitems_countÚtotal_tokensÚnum_sub_batchesTÚ	is_parentÚreturnc                 ó    — t          | ¦  «        S ©z'Convert to dict for JSON serialization.©r   ©Úselfs    úo/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/hindsight_api/engine/operation_metadata.pyÚto_dictz!BatchRetainParentMetadata.to_dict   ó   € åd‰|Œ|Ðó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚ__annotations__r   ÚboolÚdictÚstrr   r   © r   r   r   r      ss   € € € € € € àTÐTàÐÐÑØÐÐÑØÐÐÑØ€IˆtÐÐÑð˜˜c 3˜hœð ð ð ð ð ð r   r   c                   óX   — e Zd ZU dZeed<   eed<   eed<   eed<   deeef         fd„Z	dS )	ÚBatchRetainChildMetadatazDMetadata for child batch_retain operations (individual sub-batches).r   Úparent_operation_idÚsub_batch_indexÚtotal_sub_batchesr   c                 ó    — t          | ¦  «        S r   r   r   s    r   r   z BatchRetainChildMetadata.to_dict#   r   r   N)
r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r!      so   € € € € € € àNÐNàÐÐÑØÐÐÑØÐÐÑØÐÐÑð˜˜c 3˜hœð ð ð ð ð ð r   r!   c                   ó:   — e Zd ZU dZeed<   deeef         fd„Z	dS )ÚRetainMetadatazLMetadata for regular retain operations (non-batched, deprecated async path).r   r   c                 ó    — t          | ¦  «        S r   r   r   s    r   r   zRetainMetadata.to_dict.   r   r   N)
r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r'   (   sK   € € € € € € àVÐVàÐÐÑð˜˜c 3˜hœð ð ð ð ð ð r   r'   c                   ó.   — e Zd ZdZdeeef         fd„ZdS )ÚConsolidationMetadataz&Metadata for consolidation operations.r   c                 ó    — t          | ¦  «        S r   r   r   s    r   r   zConsolidationMetadata.to_dict8   r   r   N)r   r   r   r   r   r   r   r   r   r   r   r*   r*   3   s=   € € € € € à0Ð0ð˜˜c 3˜hœð ð ð ð ð ð r   r*   c                   ó:   — e Zd ZU dZeed<   deeef         fd„ZdS )ÚRefreshMentalModelMetadataz-Metadata for mental model refresh operations.Úmental_model_idr   c                 ó    — t          | ¦  «        S r   r   r   s    r   r   z"RefreshMentalModelMetadata.to_dictC   r   r   N)	r   r   r   r   r   r   r   r   r   r   r   r   r-   r-   =   sK   € € € € € € à7Ð7àÐÐÑð˜˜c 3˜hœð ð ð ð ð ð r   r-   N)r   Údataclassesr   r   Útypingr   r   r!   r'   r*   r-   r   r   r   ú<module>r2      sI  ððð ð *Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð ð ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ „ð
ð ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ „ð
ð ðð ð ð ð ñ ô ñ „ðð ðð ð ð ð ñ ô ñ „ðð ðð ð ð ð ñ ô ñ „ðð ð r   