Merge multiple `RunHooks` into one (the SDK takes a single instance).
(
hooks: list[RunHooks[Any]],
)
| 73 | |
| 74 | |
| 75 | def _compose_hooks( |
| 76 | hooks: list[RunHooks[Any]], |
| 77 | ) -> RunHooks[Any] | None: |
| 78 | """Merge multiple `RunHooks` into one (the SDK takes a single instance).""" |
| 79 | if not hooks: |
| 80 | return None |
| 81 | if len(hooks) == 1: |
| 82 | return hooks[0] |
| 83 | return _CompositeRunHooks(hooks) |
| 84 | |
| 85 | |
| 86 | class _CompositeRunHooks(RunHooks[Any]): |