+
    ~jp                    j    ^ RI Ht ^ RIHtHt ^RIHtHt R.t] ! R R4      4       t	 ! R R4      t
R# )	    )annotations)	dataclassfield)ChatContextChatItemRemoteChatContextc                  ^    ] tR t^
t$ R]R&   ]! RRR7      tR]R&   ]! RRR7      tR]R&   R	tR# )
_RemoteChatItemr   itemNF)defaultrepr_RemoteChatItem | None_prev_next )	__name__
__module____qualname____firstlineno____annotations__r   r   r   __static_attributes__r       {/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/agents/llm/remote_chat_context.pyr
   r
   
   s+    
N$)$U$CE!C$)$U$CE!Cr   r
   c                  R    ] tR t^tR R ltR R ltR R ltR R ltR	 R
 ltRt	R# )r   c                   V ^8  d   QhRR/# )   returnNoner   )formats   "r   __annotate__RemoteChatContext.__annotate__   s     : :$ :r   c                	0    R V n         R V n        / V n        R # N)_head_tail_id_to_item)selfs   &r   __init__RemoteChatContext.__init__   s    -1
-1
79r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r    r!      s     ( ([ (r   c                	    . pV P                   pVe*   VP                  VP                  4       VP                  pK-  \	        VR7      # )N)items)r$   appendr   r   r   )r'   r,   current_nodes   &  r   to_chat_ctxRemoteChatContext.to_chat_ctx   s>     "zz&LL**+'--L''r   c                    V ^8  d   QhRRRR/# )r   item_idstrr   r   r   )r   s   "r   r    r!       s     - -3 -#9 -r   c                	8    V P                   P                  V4      # r#   )r&   get)r'   r2   s   &&r   r5   RemoteChatContext.get    s    ##G,,r   c               $    V ^8  d   QhRRRRRR/# )r   previous_item_idz
str | Nonemessager   r   r   r   )r   s   "r   r    r!   #   s!     %- %-z %-H %- %-r   c                   VP                   pW0P                  9   d   \        RV R24      h\        VR7      pVfM   V P                  e#   V P                  Vn        W@P                  n        MW@n        W@n        W@P                  V&   R# V P                  P                  V4      pVf   \        RV R24      hWTn        VP
                  Vn        WEn        VP
                  e   WDP
                  n        MW@n        W@P                  V&   R# )zp
Insert `message` after the node with ID `previous_item_id`.
If `previous_item_id` is None, insert at the head.
zItem with ID z already exists.)r   Nzprevious_item_id `` not found)	idr&   
ValueErrorr
   r$   r   r   r%   r5   )r'   r8   r9   r2   new_node	prev_nodes   &&&   r   insertRemoteChatContext.insert#   s    
 **&&&}WI5EFGG"0#zz%!%#+

 %
!J(0W%$$(()9:	12B1C;OPP""">>%#+NN !J$,!r   c                    V ^8  d   QhRRRR/# )r   r2   r3   r   r   r   )r   s   "r   r    r!   J   s     & &c &d &r   c                	   V P                   P                  V4      pVf   \        RV R24      hVP                  pVP                  pV P
                  V8X  d'   W@n        V P
                  e   R V P
                  n        M
Ve   WCn        V P                  V8X  d'   W0n        V P                  e   R V P                  n        M
Ve   W4n        V P                   V R # )Nz	item_id `r;   )r&   r5   r=   r   r   r$   r%   )r'   r2   noder?   	next_nodes   &&   r   deleteRemoteChatContext.deleteJ   s    ##G,<y	=>>JJ	JJ	::"Jzz%#'

 $"+::"Jzz%#'

 $"+W%r   )r$   r&   r%   N)
r   r   r   r   r(   r/   r5   r@   rF   r   r   r   r   r   r      s!    :
(-%-N& &r   N)
__future__r   dataclassesr   r   chat_contextr   r   __all__r
   r   r   r   r   <module>rL      s>    " ( /
 D D DQ& Q&r   