
    k?*j                    l    d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 dZ
e G d d                      Zd	S )
uk  Attention:每个 agent 的事件收件箱与打断策略(docs/agent-runtime-v2.md §1.3)。

- 事件入箱;salience ≥ INTERRUPT_AT 时回调 on_interrupt(立即唤醒认知);
- 低显著度事件累积,等下一个思考点 drain() 一次性消化(一批一次 LLM,省钱);
- 同质低显著度事件去重压缩(同一个人反复走动只留最后一条)。
    )annotations)	dataclassfield)Callable)Eventg?c                  b    e Zd ZU ded<   dZded<    ee          Zded<   ddZddZ	ddZ
dS )	Attentionstragent_idNzCallable[[Event], None] | Noneon_interrupt)default_factorylist[Event]_inboxeventr   returnNonec                    j         dk     rfd| j        D             | _        | j                                       j         t          k    r| j        |                                d S d S d S )N皙?c                j    g | ]/}|j         j         k    r|j        j        k    r|j        d k     -|0S )r   )actoretypesalience).0er   s     4/root/genesis-world/src/genesis/runtime/attention.py
<listcomp>z%Attention.receive.<locals>.<listcomp>   sQ     l l l#$7ek#9#9ag>T>TYZYcfiYiYi YiYiYi    )r   r   appendINTERRUPT_ATr   )selfr   s    `r   receivezAttention.receive   s    >Cl l l ldk l l lDK5!!!>\))d.?.Ke$$$$$ *).K.Kr   c                $    | j         g c}| _         |S )Nr   )r    outs     r   drainzAttention.drain!   s    ;T[
r   Event | Nonec                <    d | j         D             }|r|d         nd S )Nc                2    g | ]}|j         t          k    |S  )r   r   )r   r   s     r   r   z)Attention.peek_urgent.<locals>.<listcomp>&   s$    GGGAJ,,F,F!,F,F,Fr   r#   )r    urgents     r   peek_urgentzAttention.peek_urgent%   s*    GGT[GGG#-vbzz-r   )r   r   r   r   )r   r   )r   r&   )__name__
__module____qualname____annotations__r   r   listr   r!   r%   r,   r)   r   r   r	   r	      s         MMM37L7777%555F5555% % % %   . . . . . .r   r	   N)__doc__
__future__r   dataclassesr   r   typingr   genesis.runtime.busr   r   r	   r)   r   r   <module>r7      s     # " " " " " ( ( ( ( ( ( ( (       % % % % % % . . . . . . . . . .r   