fix: Updated openai instrumentation to properly return APIPromise to avoid crashing when using completions.parse or responses.parse
#3382
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The linked bug found an issue with how we're now instrumenting
openaiwith the tracing channel. I determined this is actually a bug in Node.js. In the meantime, we can work around it by wrapping the functions we need intraceSyncand propagating and emitting the results in the resolve/reject blocks of the promise.Note: I added a test to prove this no longer crashes, but I can't seem to get it to succeed with our mock server. I want to test with a live openai instance to ensure there aren't more issues, but I don't expect there to be.
How to Test
Related Issues
Fixes #3379