-
Notifications
You must be signed in to change notification settings - Fork 115
💥 Replayer configuration from plugins #1011
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me. If we could, I would blow everything up and extract the things that are needed for deterministic replay out of the client/worker config so there's only one thing, but, that ship's long sailed.
Co-authored-by: Spencer Judge <sjudge@hey.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Also, even though they were experimental anyways, we like to call out breaking changes in the release notes, so lets try to remember to do that.
|
||
def configure_replayer(self, config: ReplayerConfig) -> ReplayerConfig: | ||
"""Configure the replayer for OpenAI Agents.""" | ||
config["interceptors"] = list(config.get("interceptors") or []) + [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a very surprising footgun and introduces coupling, and requires that users understand a concept (Replayer) that few are familiar with. It feels like a very large chance that users will mess this up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is why we chose to require that plugin authors configure replayers and therefore become familiar with them. Regular users don't need to become familiar with replayers, but plugin authors do to ensure their plugin works right in replayer scenarios and not just client and worker scenarios.
What was changed
Added ability to configure replayer to plugins. Plugins as a whole have become abstract so that plugin authors need to consider the different components they may need to configure.
Why?
Checklist
Closes [Feature Request] Worker plugin support for replayers #994
How was this tested: