Home / Class/ AsyncUserContextMiddleware Class — langchain Architecture

AsyncUserContextMiddleware Class — langchain Architecture

Architecture documentation for the AsyncUserContextMiddleware class in test_middleware_typing.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  7f3c2eee_1df2_8455_80e7_b949120856af["AsyncUserContextMiddleware"]
  689eac1f_5845_440c_f60b_988968e02ee6["test_middleware_typing.py"]
  7f3c2eee_1df2_8455_80e7_b949120856af -->|defined in| 689eac1f_5845_440c_f60b_988968e02ee6
  ad5a9359_d52f_b121_921d_01bd31e27c61["abefore_model()"]
  7f3c2eee_1df2_8455_80e7_b949120856af -->|method| ad5a9359_d52f_b121_921d_01bd31e27c61
  cc5ab3bf_d68a_a52a_4b4c_2fed5e7873bc["awrap_model_call()"]
  7f3c2eee_1df2_8455_80e7_b949120856af -->|method| cc5ab3bf_d68a_a52a_4b4c_2fed5e7873bc

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py lines 316–331

class AsyncUserContextMiddleware(AgentMiddleware[AgentState[Any], UserContext, Any]):
    """Async middleware with correctly typed ContextT."""

    async def abefore_model(
        self, state: AgentState[Any], runtime: Runtime[UserContext]
    ) -> dict[str, Any] | None:
        _user_name: str = runtime.context["user_name"]
        return None

    async def awrap_model_call(
        self,
        request: ModelRequest[UserContext],
        handler: Callable[[ModelRequest[UserContext]], Awaitable[ModelResponse[Any]]],
    ) -> ModelResponse[Any]:
        _user_id: str = request.runtime.context["user_id"]
        return await handler(request)

Frequently Asked Questions

What is the AsyncUserContextMiddleware class?
AsyncUserContextMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py.
Where is AsyncUserContextMiddleware defined?
AsyncUserContextMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/middleware_typing/test_middleware_typing.py at line 316.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free