openai-agents-python/src/agents/run_context.py
2025-03-11 09:42:28 -07:00

26 lines
851 B
Python

from dataclasses import dataclass, field
from typing import Any, Generic
from typing_extensions import TypeVar
from .usage import Usage
TContext = TypeVar("TContext", default=Any)
@dataclass
class RunContextWrapper(Generic[TContext]):
"""This wraps the context object that you passed to `Runner.run()`. It also contains
information about the usage of the agent run so far.
NOTE: Contexts are not passed to the LLM. They're a way to pass dependencies and data to code
you implement, like tool functions, callbacks, hooks, etc.
"""
context: TContext
"""The context object (or None), passed by you to `Runner.run()`"""
usage: Usage = field(default_factory=Usage)
"""The usage of the agent run so far. For streamed responses, the usage will be stale until the
last chunk of the stream is processed.
"""