
    ?*j                    p    d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ g dZ G d	 d
          ZdS )u  StubMind:无 LLM 的规则桩 agent——专为验证 v2 运行时链路(作息/逐跳/中断/聚集)。

行为规则(够"像人"即可,认知层接入后整体替换):
- 深夜(≥23:00)或困意过阈 → 回自己房间睡到 07:00;惊醒后恐惧驱动去门厅找人;
- 饿了(soma 候选)→ 去厨房吃 20 分钟;
- 听到高显著度事件(惨叫/停电)→ 中断当前动作,赶往门厅与人汇合;
- 其余时间:在"偏好地点"间游荡,遇到人偶尔寒暄两句(冒泡可见)。
    )annotationsN)Actor)	Attention)Event)Soma)u   这鬼天气……u   你也睡不着?u   刚才那声音你听见了吗u   还是大家待在一起稳妥u   这岛上到处不对劲u   天亮就好了c                  &    e Zd ZddZddZddZdS )StubMindaidstrhomehaunts	list[str]rngrandom.Randomactorr   	attentionr   somar   returnNonec                    || _         || _        || _        || _        || _        || _        || _        d| _        d| _        d S )N F)	r
   r   r   r   r   r   r   last_speech	gathering)selfr
   r   r   r   r   r   r   s           //root/genesis-world/src/genesis/runtime/stub.py__init__zStubMind.__init__   sF    	
"	    now_hfloatplace	occupantsc                   | j                                         }|D ]<}|j        dk    r/| j                            ||j        dk    rdnd           d| _        =| j                            |          }d| _        | j        r"dk    r| j	        
                    d          rd S | j        ridk    rcd| _        | j	                            | j                            dd	          d
           |r$| j                            t                    | _        d S |dz  }|dk    s|dk     s|d         dk    rn|d         dk     rb| j        k    r!| j	        
                    | j                  rd S | j	                            d           | j                            d           d S d| j                            |          v rYdk    r| j	        
                    d          rd S | j	                            dd	           | j                            |           d S |r| j                                        dk     rd| j                            t                    | _        | j	                            | j                            dd          d|d          d           d S | j                            fd| j        D             p| j        g          }| j	        
                    |          s| j	                            d           d S d S )Ng?ambientg333333?Tr   u   门厅FiX  i  u   和大家聚在一起压惊   g3333337@g      @fatigueg      ?fearg      ?g      @u   去厨房弄点吃的u   厨房u   在厨房弄点吃的g?i  i  u   和r   u   闲聊c                     g | ]
}|k    |S  r(   ).0pr    s     r   
<listcomp>z"StubMind.think.<locals>.<listcomp>M   s    EEEa!u*****r   )r   drainsaliencer   shocketyper   snapshotr   r   
start_moveidler   uniformchoice	SMALLTALKr   start_sleepslept
candidatesstart_doaterandomr   )	r   r   r    r!   eventsesnaphdests	     `      r   thinkzStubMind.think%   s   %%'' 	& 	&AzS  	ag.B.BssLLL!%y!!%((> 	ex//z$$X.. > 	ex//"DNJOODH,,S$779VWWW >#'8??9#=#= FBJIISDOd$:$:Vs@R@R	!!:((33 FJ""3'''IOOC   F"di&:&:5&A&AAA  :((22 FJ 7>>>IMM%   F 	**T11#xy99DJOODH,,S#668Ril8R8R8RSSSFxEEEE4;EEET$)UUz$$T** 	!JOOC     	! 	!r   r=   r   c                :    | j                             |           d S )N)r   receive)r   r=   s     r   on_eventzStubMind.on_eventQ   s    q!!!!!r   N)r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r    r   r!   r   r   r   )r=   r   r   r   )__name__
__module____qualname__r   rA   rD   r(   r   r   r	   r	      sQ        
 
 
 
*! *! *! *!X" " " " " "r   r	   )__doc__
__future__r   r;   genesis.runtime.actorr   genesis.runtime.attentionr   genesis.runtime.busr   genesis.runtime.somar   r5   r	   r(   r   r   <module>rN      s     # " " " " "  ' ' ' ' ' ' / / / / / / % % % % % % % % % % % %< < <	;" ;" ;" ;" ;" ;" ;" ;" ;" ;"r   