feat(openai): add new tool search tool#13157
Merged
aayush-kapoor merged 19 commits intomainfrom Mar 17, 2026
Merged
Conversation
packages/openai/src/responses/openai-responses-language-model.ts
Outdated
Show resolved
Hide resolved
4 tasks
aayush-kapoor
added a commit
that referenced
this pull request
Mar 6, 2026
## Background faced the issue while implementing #13157 - for multiturn conversation, the item Ids weren't properly being mapped within aisdk and there was a mismatch between what we were sending to the openai api and what was expected. we were attching the same tool call id as the `tool-call` object to the `tool-result` which caused duplicate ID found errors + incorrect ids sent for certain parts ## Summary - since the item_id for tool_search_output is propagated via providerMetadata - we ensure the providerMetadata is preserved through the UI stream. - similar change needed for generate text as well ## Manual Verification will be done in #13157 ## Checklist - [x] Tests have been added / updated (for bug fixes / features) - [ ] Documentation has been added / updated (for bug fixes / features) - [x] A _patch_ changeset for relevant packages has been added (for bug fixes / features - run `pnpm changeset` in the project root) - [x] I have reviewed this pull request (self-review)
vercel-ai-sdk bot
pushed a commit
that referenced
this pull request
Mar 6, 2026
## Background faced the issue while implementing #13157 - for multiturn conversation, the item Ids weren't properly being mapped within aisdk and there was a mismatch between what we were sending to the openai api and what was expected. we were attching the same tool call id as the `tool-call` object to the `tool-result` which caused duplicate ID found errors + incorrect ids sent for certain parts ## Summary - since the item_id for tool_search_output is propagated via providerMetadata - we ensure the providerMetadata is preserved through the UI stream. - similar change needed for generate text as well ## Manual Verification will be done in #13157 ## Checklist - [x] Tests have been added / updated (for bug fixes / features) - [ ] Documentation has been added / updated (for bug fixes / features) - [x] A _patch_ changeset for relevant packages has been added (for bug fixes / features - run `pnpm changeset` in the project root) - [x] I have reviewed this pull request (self-review)
4 tasks
Contributor
|
@aayush-kapoor is this still in progress? |
lgrammel
approved these changes
Mar 17, 2026
Collaborator
Author
|
@viktorlarsson sorry, just needed to be reviewed. should be out soon |
Contributor
|
|
Contributor
|
🚀 Published in:
|
aayush-kapoor
added a commit
that referenced
this pull request
Mar 17, 2026
This is an automated backport of #13157 to the release-v6.0 branch. FYI @aayush-kapoor This backport has conflicts that need to be resolved manually. ### `git cherry-pick` output ``` Auto-merging packages/openai/src/responses/convert-to-openai-responses-input.ts Auto-merging packages/openai/src/responses/openai-responses-language-model.test.ts CONFLICT (content): Merge conflict in packages/openai/src/responses/openai-responses-language-model.test.ts Auto-merging packages/openai/src/responses/openai-responses-language-model.ts Auto-merging packages/openai/src/responses/openai-responses-prepare-tools.ts error: could not apply 156cdf0... feat(openai): add new tool search tool (#13157) hint: After resolving the conflicts, mark them with hint: "git add/rm <pathspec>", then run hint: "git cherry-pick --continue". hint: You can instead skip this commit with "git cherry-pick --skip". hint: To abort and get back to the state before "git cherry-pick", hint: run "git cherry-pick --abort". hint: Disable this message with "git config set advice.mergeConflict false" ``` --------- Co-authored-by: Aayush Kapoor <83492835+aayush-kapoor@users.noreply.github.com> Co-authored-by: Aayush Kapoor <aayushkapoor34@gmail.com>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Background
OpenAI introduced a new tool along with the release of GPT 5.4
https://developers.openai.com/api/docs/guides/tools-tool-search
API spec here: https://developers.openai.com/api/reference/resources/responses/methods/retrieve
Summary
Manual Verification
verified by running the examples:
examples/ai-functions/src/generate-text/openai/responses-tool-search.tsexamples/ai-functions/src/stream-text/openai/responses-tool-search.tsexamples/ai-functions/src/generate-text/openai/responses-client-tool-search.tsexamples/ai-functions/src/stream-text/openai/responses-client-tool-search.tshttp://localhost:3000/chat/openai-tool-searchwith store:false and store:truehttp://localhost:3000/chat/openai-tool-search-clientwith store:false and store:trueChecklist
pnpm changesetin the project root)