Copy Context To Callable • AI Agent SDK

copy_context_to_callable: Wrap a callable to copy the current context to the new thread/executor.

copy_context_to_callable

Function

</div>

This function is defined in the context_events module.

Wrap a callable to copy the current context to the new thread/executor.

This is needed because contextvars are NOT automatically propagated to thread pool executors. Use this when calling run_in_executor().

The whole context is copied, so the replay state (emitter, run id, branch id and the open-span stack that yields `parent_seq`) reaches the thread.

Signature

python
def copy_context_to_callable(func: Any) -> Any

Parameters

ParamField Any

The callable to wrap.

Returns

ResponseField Any

A wrapped callable that copies the current context.

Usage

python
# Instead of:
    await loop.run_in_executor(None, lambda: agent.chat(prompt))

    # Use:
    await loop.run_in_executor(None, copy_context_to_callable(lambda: agent.chat(prompt)))

Uses

  • contextvars.copy_context
  • ctx.run

Used By

Source

View on GitHub

praisonaiagents/trace/context_events.py at line 266


Related Documentation