+
    ~jf                       ^ RI Ht ^ RIHtHtHtHtHtHt ^ RI	H	t	 ^ RI
Ht ^ RIHt ^ RIt]'       d   ^ RIHt ^RIHt ^R	IHtHt ^R
IHt ^RIHtHtHtHtHtHtHtH t  ^RI!H"t"H#t#H$t$H%t%H&t& ^RI'H(t( ^RI)H*t*H+t+ ^RI,H-t-H.t. ^RI/H0t0H1t1 ^RI2H3t3H4t4 ^RI5H6t6H7t7 ^RI8H9t9H:t: ^RI;H<t< ^RI=H>t> ^RI?H@t@ ^RIAHBtB ^RICHDtD RR.tE ! R R]*4      tF ! R R]+4      tG ! R R4      tH ! R R 4      tI ! R! R"4      tJ ! R# R$4      tKR# )%    )annotations)TYPE_CHECKINGAnyListUnionIterablecast)datetime)chain)LiteralN)Sequence)AsyncAnthropic)SessionToolRunnerBetaAnyRunnableTool)_legacy_response)BodyOmitQueryHeadersNotGivenSequenceNotStromit	not_given)is_givenpath_templatemaybe_transformstrip_not_givenasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)StreamAsyncStream)SyncPageCursorAsyncPageCursor)AsyncPaginatormake_request_options)event_list_paramsevent_send_params)AnthropicBetaParam)BetaManagedAgentsEventParams)BetaManagedAgentsSessionEvent)"BetaManagedAgentsSendSessionEvents)$BetaManagedAgentsStreamSessionEventsEventsAsyncEventsc                      ] tR t^%t]R R l4       t]R R l4       tR]R]R]R]R	]R
]R]R]R]RRRRRRR]/R R llt	R]RRRRRRR]/R R llt
R]RRRRRRR]/R R lltRtR# )r1   c                   V ^8  d   QhRR/# )   returnEventsWithRawResponse )formats   "}/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/anthropic/resources/beta/sessions/events.py__annotate__Events.__annotate__'   s     + +#8 +    c                    \        V 4      # z
This property can be used as a prefix for any HTTP method call to return
the raw response object instead of the parsed content.

For more information, see https://www.github.com/anthropics/anthropic-sdk-python#accessing-raw-response-data-eg-headers
)r7   selfs   &r:   with_raw_responseEvents.with_raw_response&   s     %T**r=   c                   V ^8  d   QhRR/# )r5   r6   EventsWithStreamingResponser8   )r9   s   "r:   r;   r<   1   s     1 1)D 1r=   c                    \        V 4      # z
An alternative to `.with_raw_response` that doesn't eagerly read the response body.

For more information, see https://www.github.com/anthropics/anthropic-sdk-python#with_streaming_response
)rE   r@   s   &r:   with_streaming_responseEvents.with_streaming_response0   s     +400r=   created_at_gtcreated_at_gtecreated_at_ltcreated_at_ltelimitorderpagetypesbetasextra_headersNextra_query
extra_bodytimeoutc               T    V ^8  d   Qh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RR/# )r5   
session_idstrrJ   Union[str, datetime] | OmitrK   rL   rM   rN   
int | OmitrO   Literal['asc', 'desc'] | OmitrP   
str | OmitrQ   SequenceNotStr[str] | OmitrR   List[AnthropicBetaParam] | OmitrS   Headers | NonerT   Query | NonerU   Body | NonerV   'float | httpx.Timeout | None | NotGivenr6   z-SyncPageCursor[BetaManagedAgentsSessionEvent]r8   )r9   s   "r:   r;   r<   9   s     Z
 Z
Z
 3	Z

 4Z
 3Z
 4Z
 Z
 -Z
 Z
 *Z
 /Z
 &Z
  "!Z
"  #Z
$ 9%Z
& 
7'Z
r=   c                  V'       g   \        RV: 24      h/ \        R\        V
4      '       d$   RP                  \	        R V
 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpV P                  \        RVR7      \        \        ,          \        VVVV\        RVR	VR
VRVRVRVRVRV	/\        P                  4      R7      \        \        \        4      R7      # )  
List Events

Args:
  created_at_gt: Return events created after this time (exclusive).

  created_at_gte: Return events created at or after this time (inclusive).

  created_at_lt: Return events created before this time (exclusive).

  created_at_lte: Return events created at or before this time (inclusive).

  limit: Query parameter for limit

  order: Sort direction for results, ordered by created_at. Defaults to asc
      (chronological).

  page: Opaque pagination cursor from a previous response's next_page.

  types: Filter by event type. Values match the `type` field on returned events (for
      example, `user.message` or `agent.tool_use`). Omit to return all event types.

  betas: Optional header to specify the beta version(s) you want to use.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
9Expected a non-empty value for `session_id` but received anthropic-beta,c              3  8   "   T F  p\        V4      x  K  	  R # 5iNrY   .0es   & r:   	<genexpr>Events.list.<locals>.<genexpr>r        5Lec!ffe   managed-agents-2026-04-01*/v1/sessions/{session_id}/events?beta=truerX   rJ   rK   rL   rM   rN   rO   rP   rQ   rS   rT   rU   rV   queryrP   optionsmodel)
ValueErrorr   r   joinr   r   _get_api_listr   r&   r.   r)   r   r*   EventListParamsr	   r   rA   rX   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   s   &&$$$$$$$$$$$$$r:   listEvents.list9   s"   h XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`!!FS]^ =>(+'%%'(.'(.	 &55& 2- " 
 	
r=   c               8    V ^8  d   QhRRRRRRRRR	R
RRRRRR/# r5   rX   rY   eventsz&Iterable[BetaManagedAgentsEventParams]rR   r_   rS   r`   rT   ra   rU   rb   rV   rc   r6   r/   r8   )r9   s   "r:   r;   r<      Z     1
 1
1
 7	1

 /1
 &1
 "1
  1
 91
 
,1
r=   c                  V'       g   \        RV: 24      h/ \        R\        V4      '       d$   RP                  \	        R V 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpV P                  \        RVR7      \        RV/\        P                  4      \        WEWgR	7      \        R
7      # )}  
Send Events

Args:
  events: Events to send to the `session`.

  betas: Optional header to specify the beta version(s) you want to use.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
rf   rg   rh   c              3  8   "   T F  p\        V4      x  K  	  R # 5irj   rk   rl   s   & r:   ro   Events.send.<locals>.<genexpr>   rq   rr   rs   rt   ru   r   rS   rT   rU   rV   bodyry   cast_to)r{   r   r   r|   r   r   _postr   r   r+   EventSendParamsr)   r/   rA   rX   r   rR   rS   rT   rU   rV   s   &&$$$$$$r:   sendEvents.send   s    : XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`zzFS]^ (F!35F5V5VW(+Q[ 7  
 	
r=   c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )r5   rX   rY   rR   r_   rS   r`   rT   ra   rU   rb   rV   rc   r6   z,Stream[BetaManagedAgentsStreamSessionEvents]r8   )r9   s   "r:   r;   r<      sP     1
 1
1
 /	1
 &1
 "1
  1
 91
 
61
r=   c          
        V'       g   \        RV: 24      h/ \        R\        V4      '       d$   RP                  \	        R V 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpV P                  \        RVR7      \        W4WVR7      \        \        \        4      R	\        \        ,          R
7      # )S  
Stream Events

Args:
  betas: Optional header to specify the beta version(s) you want to use.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
rf   rg   rh   c              3  8   "   T F  p\        V4      x  K  	  R # 5irj   rk   rl   s   & r:   ro    Events.stream.<locals>.<genexpr>   rq   rr   rs   1/v1/sessions/{session_id}/events/stream?beta=trueru   r   Try   r   stream
stream_cls)r{   r   r   r|   r   r   _getr   r)   r	   r   r0   r$   rA   rX   rR   rS   rT   rU   rV   s   &&$$$$$r:   r   Events.stream   s    4 XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`yyMZde(+Q[ 9 BC  

 
	
r=   r8   )__name__
__module____qualname____firstlineno__r   rB   rH   r   r   r   r   r   __static_attributes__r8   r=   r:   r1   r1   %   s5   + + 1 1Z
 6:	Z

 7;Z
 6:Z
 7;Z
 !Z
 04Z
  Z
 -1Z
 26Z
 )-Z
  %)!Z
" #'#Z
$ <E%Z
x1

 261
 )-1
 %)1
 #'1
 <E1
f1
 26	1
 )-1
 %)1
 #'1
 <E1
 1
r=   c                      ] tR t^t]R R l4       t]R R l4       tR]R]R]R]R	]R
]R]R]R]RRRRRRR]/R R llt	R]RRRRRRR]/R R llt
R]RRRRRRR]/R R lltR]RRRR/R R lltRtR# )r2   c                   V ^8  d   QhRR/# )r5   r6   AsyncEventsWithRawResponser8   )r9   s   "r:   r;   AsyncEvents.__annotate__   s     0 0#= 0r=   c                    \        V 4      # r?   )r   r@   s   &r:   rB   AsyncEvents.with_raw_response   s     *$//r=   c                   V ^8  d   QhRR/# )r5   r6    AsyncEventsWithStreamingResponser8   )r9   s   "r:   r;   r     s     6 6)I 6r=   c                    \        V 4      # rG   )r   r@   s   &r:   rH   #AsyncEvents.with_streaming_response  s     055r=   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   NrT   rU   rV   c               T    V ^8  d   Qh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RR/# )r5   rX   rY   rJ   rZ   rK   rL   rM   rN   r[   rO   r\   rP   r]   rQ   r^   rR   r_   rS   r`   rT   ra   rU   rb   rV   rc   r6   z]AsyncPaginator[BetaManagedAgentsSessionEvent, AsyncPageCursor[BetaManagedAgentsSessionEvent]]r8   )r9   s   "r:   r;   r     s     Z
 Z
Z
 3	Z

 4Z
 3Z
 4Z
 Z
 -Z
 Z
 *Z
 /Z
 &Z
  "!Z
"  #Z
$ 9%Z
& 
g'Z
r=   c                  V'       g   \        RV: 24      h/ \        R\        V
4      '       d$   RP                  \	        R V
 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpV P                  \        RVR7      \        \        ,          \        VVVV\        RVR	VR
VRVRVRVRVRV	/\        P                  4      R7      \        \        \        4      R7      # )re   rf   rg   rh   c              3  8   "   T F  p\        V4      x  K  	  R # 5irj   rk   rl   s   & r:   ro   #AsyncEvents.list.<locals>.<genexpr>I  rq   rr   rs   rt   ru   rJ   rK   rL   rM   rN   rO   rP   rQ   rv   rx   )r{   r   r   r|   r   r   r}   r   r'   r.   r)   r   r*   r~   r	   r   r   s   &&$$$$$$$$$$$$$r:   r   AsyncEvents.list  s"   h XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`!!FS]^ !>?(+'%%'(.'(.	 &55& 2- " 
 	
r=   c               8    V ^8  d   QhRRRRRRRRR	R
RRRRRR/# r   r8   )r9   s   "r:   r;   r   l  r   r=   c                 "   V'       g   \        RV: 24      h/ \        R\        V4      '       d$   RP                  \	        R V 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpT P                  \        RVR7      \        RV/\        P                  4      G R	j  xL
 \        WEWgR
7      \        R7      G R	j  xL
 #  L" L5i)r   rf   rg   rh   c              3  8   "   T F  p\        V4      x  K  	  R # 5irj   rk   rl   s   & r:   ro   #AsyncEvents.send.<locals>.<genexpr>  rq   rr   rs   rt   ru   r   Nr   r   )r{   r   r   r|   r   r   r   r   r   r+   r   r)   r/   r   s   &&$$$$$$r:   r   AsyncEvents.sendl  s     : XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`ZZFS]^,h-?ARAbAbcc(+Q[ 7   
 
 	
c
s0   A&C)C9:C3C
4CCCCc               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )r5   rX   rY   rR   r_   rS   r`   rT   ra   rU   rb   rV   rc   r6   z1AsyncStream[BetaManagedAgentsStreamSessionEvents]r8   )r9   s   "r:   r;   r     sP     1
 1
1
 /	1
 &1
 "1
  1
 91
 
;1
r=   c          
       "   V'       g   \        RV: 24      h/ \        R\        V4      '       d$   RP                  \	        R V 4       R.4      4      M\
        /4      CT;'       g    / CpRR/T;'       g    / CpV P                  \        RVR7      \        W4WVR7      \        \        \        4      R	\        \        ,          R
7      G Rj  xL
 #  L5i)r   rf   rg   rh   c              3  8   "   T F  p\        V4      x  K  	  R # 5irj   rk   rl   s   & r:   ro   %AsyncEvents.stream.<locals>.<genexpr>  rq   rr   rs   r   ru   r   Tr   N)r{   r   r   r|   r   r   r   r   r)   r	   r   r0   r%   r   s   &&$$$$$r:   r   AsyncEvents.stream  s     4 XYcXfghh	
$ '*hhu5Le5LOjNk/l&m"	
 ""	
 *+F`=K^K^\^`YYMZde(+Q[ 9 "#GH  

 

 
	
 

s   A&C)C9ACCCmax_idleenvironment_keyc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r5   rX   rY   toolszSequence[BetaAnyRunnableTool]r   zfloat | None | NotGivenr   z
str | NonerS   r`   r6   r   r8   )r9   s   "r:   r;   r     sN     V
 V
V
 -	V

 *V
 $V
 &V
 
V
r=   c          	     |    ^RI HpHp \        V4      '       g   TpV! \	        RV P
                  4      VVVVVR7      # )u  Dispatch a self-hosted session's tool-call events.

The sessions-side counterpart to ``client.beta.messages.tool_runner``:
returns a :class:`~anthropic.lib.environments.SessionToolRunner` — an
async iterable that attaches to the session's event stream, reconciles
against the events-list endpoint, runs the matching tool from ``tools``
for each tool-call event, posts the matching result event back, and
yields one :class:`~anthropic.lib.environments.DispatchedToolCall` per
completed call. It handles both tool-call kinds: ``agent.tool_use``
(built-in agent-toolset tools) answered with ``user.tool_result``, and
``agent.custom_tool_use`` (custom, user-defined tools) answered with
``user.custom_tool_result``. Internally drives event-stream reconnect
(with capped backoff) via an anyio task group so it works under both
``asyncio`` and ``trio``.

Iteration ends when the session terminates (``session.status_terminated``
/ ``session.deleted``), when the consumer breaks out of the loop, or —
once the session has gone idle with ``stop_reason`` ``end_turn`` —
``max_idle`` seconds elapse with no new event (any new event resets that
countdown; it re-arms on the next ``end_turn`` idle). ``max_idle=None``
disables that last condition. It does **not** touch the work-item lease —
wrap it in an :class:`~anthropic.lib.environments.EnvironmentWorker` if
you need heartbeating / force-stop.

Usage::

    from anthropic.lib.tools.agent_toolset import AgentToolContext, beta_agent_toolset_20260401

    async with AgentToolContext(workdir=...) as env:
        async for call in client.beta.sessions.events.tool_runner(
            work.data.id,
            tools=[*beta_agent_toolset_20260401(env), my_tool],
        ):
            ...

Args:
  session_id: The session whose events stream we attach to. Passed
    positionally, matching ``list`` / ``send`` / ``stream`` on this
    resource.
  tools: Registry of tool callables the runner will execute when the
    agent emits matching ``agent.tool_use`` / ``agent.custom_tool_use``
    events — the same :class:`~anthropic.lib.tools.BetaAsyncFunctionTool`
    shape ``client.beta.messages.tool_runner`` accepts.
  max_idle: Seconds to keep running after the session goes idle with
    ``stop_reason`` ``end_turn`` before stopping; any new event resets
    the countdown. Defaults to ``DEFAULT_MAX_IDLE`` (60s) when not
    given. ``None`` disables it.
  environment_key: The self-hosted environment key. When set, the
    runner builds a Bearer-only scoped sub-client keyed to that
    environment for the event stream / list / send calls; leave it
    unset to authenticate those calls with the parent client's own
    credentials.
  extra_headers: Optional headers passed through per request on every
    call the runner makes (event stream / list / send). They are
    threaded into each call's ``extra_headers=`` and never assigned
    onto the client, so client state is not mutated. Auth and
    ``x-stainless-helper`` are supplied by the runner's scoped
    sub-client (and the parent client's ``default_headers`` propagate
    via its ``client.copy()``); a header given here overrides the
    scoped client's same-named default for that request, so use it for
    caller passthrough (e.g. trace ids), not to set auth.
)DEFAULT_MAX_IDLEr   r   )r   r   r   rS   )lib.tools._beta_session_runnerr   r   r   r	   _client)rA   rX   r   r   r   rS   r   r   s   &&$$$$  r:   tool_runnerAsyncEvents.tool_runner  sD    T 	[!!'H !4<<0+'
 	
r=   r8   )r   r   r   r   r   rB   rH   r   r   r   r   r   r   r   r8   r=   r:   r2   r2      s^   0 0 6 6Z
 6:	Z

 7;Z
 6:Z
 7;Z
 !Z
 04Z
  Z
 -1Z
 26Z
 )-Z
  %)!Z
" #'#Z
$ <E%Z
x1

 261
 )-1
 %)1
 #'1
 <E1
f1
 26	1
 )-1
 %)1
 #'1
 <E1
fV

 -6V
 '+V
 )-V
 V
r=   c                  "    ] tR tRtR R ltRtR# )r7   i+  c                    V ^8  d   QhRRRR/# r5   r   r1   r6   Noner8   )r9   s   "r:   r;   "EventsWithRawResponse.__annotate__,       
 
v 
$ 
r=   c                	    Wn         \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP
                  4      V n        R # rj   )_eventsr   to_raw_response_wrapperr   r   r   rA   r   s   &&r:   __init__EventsWithRawResponse.__init__,  sV    $<<KK
	 %<<KK
	 '>>MM
r=   r   r   r   r   Nr   r   r   r   r   r   r8   r=   r:   r7   r7   +      
 
r=   r7   c                  "    ] tR tRtR R ltRtR# )r   i:  c                    V ^8  d   QhRRRR/# r5   r   r2   r6   r   r8   )r9   s   "r:   r;   'AsyncEventsWithRawResponse.__annotate__;       
 
{ 
t 
r=   c                	    Wn         \        P                  ! VP                  4      V n        \        P                  ! VP                  4      V n        \        P                  ! VP
                  4      V n        R # rj   )r   r   async_to_raw_response_wrapperr   r   r   r   s   &&r:   r   #AsyncEventsWithRawResponse.__init__;  sV    $BBKK
	 %BBKK
	 'DDMM
r=   r   Nr   r8   r=   r:   r   r   :  r   r=   r   c                  "    ] tR tRtR R ltRtR# )rE   iI  c                    V ^8  d   QhRRRR/# r   r8   )r9   s   "r:   r;   (EventsWithStreamingResponse.__annotate__J  r   r=   c                	    Wn         \        VP                  4      V n        \        VP                  4      V n        \        VP                  4      V n        R # rj   )r   r"   r   r   r   r   s   &&r:   r   $EventsWithStreamingResponse.__init__J  sD    0KK
	 1KK
	 3MM
r=   r   Nr   r8   r=   r:   rE   rE   I  r   r=   rE   c                  "    ] tR tRtR R ltRtR# )r   iX  c                    V ^8  d   QhRRRR/# r   r8   )r9   s   "r:   r;   -AsyncEventsWithStreamingResponse.__annotate__Y  r   r=   c                	    Wn         \        VP                  4      V n        \        VP                  4      V n        \        VP                  4      V n        R # rj   )r   r#   r   r   r   r   s   &&r:   r   )AsyncEventsWithStreamingResponse.__init__Y  sD    6KK
	 7KK
	 9MM
r=   r   Nr   r8   r=   r:   r   r   X  r   r=   r   )L
__future__r   typingr   r   r   r   r   r	   r
   	itertoolsr   typing_extensionsr   httpxcollections.abcr   r   r   r   r   r    r   _typesr   r   r   r   r   r   r   r   _utilsr   r   r   r   r   _compatr   	_resourcer    r!   	_responser"   r#   
_streamingr$   r%   
paginationr&   r'   _base_clientr(   r)   types.beta.sessionsr*   r+   types.anthropic_beta_paramr,   4types.beta.sessions.beta_managed_agents_event_paramsr-   5types.beta.sessions.beta_managed_agents_session_eventr.   ;types.beta.sessions.beta_managed_agents_send_session_eventsr/   =types.beta.sessions.beta_managed_agents_stream_session_eventsr0   __all__r1   r2   r7   r   rE   r   r8   r=   r:   <module>r      s    # B B   % (*Y ! \ \ \ g g ' ; Z . : A H = a c n r]
#T
_ T
nl
" l
^	
 

 

 

 
r=   