
     ii]                         U d Z ddlZddlmZmZ ddlmZ  ej                  d      ZddddZ	ee
ef   ed<   d	ee
ef   fd
Zd	ee
ef   fdZde
defdZde
fdZy)zZ
Genesis V2 MCP Resources
========================
Resource definitions for MCP exposure.
    N)DictAny)Identityzgenesis_v2.mcp.resourcesinitialized)statusqueriesvision_requests_session_statereturnc                      t               } | j                         r1d| j                  | j                  dd t	        | j                        dS dddS )z
    Get agent identity/context as MCP resource.
    
    URI: identity://genesis/context
    
    Returns:
        dict with persona name and rules content
    zidentity://genesis/contextNi  )uripersonarules_previewrules_lengthzIdentity not loaded)r   error)r   loadpersona_namerules_contentlen)identitys    1/mnt/e/genesis-system/genesis_v2/mcp/resources.pyget_identity_resourcer      sZ     zH}}/,,%33DS9 6 67	
 	
 ,&     c                      ddit         S )z
    Get current session state as MCP resource.
    
    URI: session://genesis/state
    
    Returns:
        dict with session state
    r   zsession://genesis/stater
    r   r   get_session_resourcer   -   s     	(
 r   keyvaluec                     |t         | <   y)zUpdate session state.Nr   )r   r   s     r   update_session_stater!   <   s    N3r   c                 h    | t         v r*t        t         |    t              rt         | xx   dz  cc<   yyy)zIncrement a session counter.   N)r
   
isinstanceint)r   s    r   increment_counterr&   A   s1    
nN3,?!Esq  "Fr   )__doc__loggingtypingr   r   genesis_v2.core.identityr   	getLoggerloggerr
   str__annotations__r   r   r!   r&   r   r   r   <module>r/      s      -			5	6 "S#X tCH~ .d38n  c  #  
!3 !r   