26 lines
851 B
Python
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.
|
|
"""
|