[docs]classMessageHandlerContext:def__init__(self)->None:raiseRuntimeError("MessageHandlerContext cannot be instantiated. It is a static class that provides context management for message handling.")_MESSAGE_HANDLER_CONTEXT:ClassVar[ContextVar[AgentId]]=ContextVar("_MESSAGE_HANDLER_CONTEXT")@classmethod@contextmanagerdefpopulate_context(cls,ctx:AgentId)->Generator[None,Any,None]:""":meta private:"""token=MessageHandlerContext._MESSAGE_HANDLER_CONTEXT.set(ctx)try:yieldfinally:MessageHandlerContext._MESSAGE_HANDLER_CONTEXT.reset(token)
[docs]@classmethoddefagent_id(cls)->AgentId:try:returncls._MESSAGE_HANDLER_CONTEXT.get()exceptLookupErrorase:raiseRuntimeError("MessageHandlerContext.agent_id() must be called within a message handler.")frome