Skip to content

Commit cbd4deb

Browse files
feat: handle unknown hosted tools in responses model (#63)
* feat(openai): pass through unknown hosted tools * Create rich-buses-marry.md
1 parent 6e2445a commit cbd4deb

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

.changeset/rich-buses-marry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@openai/agents-openai": patch
3+
---
4+
5+
feat: handle unknown hosted tools in responses model

packages/agents-openai/src/openaiResponsesModel.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,11 @@ function converTool<_TContext = unknown>(
175175
},
176176
include: undefined,
177177
};
178+
} else if (tool.providerData) {
179+
return {
180+
tool: tool.providerData as unknown as OpenAI.Responses.Tool,
181+
include: undefined,
182+
};
178183
}
179184
}
180185

packages/agents-openai/test/openaiResponsesModel.helpers.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,23 @@ describe('converTool', () => {
125125
quality: undefined,
126126
size: undefined,
127127
});
128+
129+
const custom = converTool({
130+
type: 'hosted_tool',
131+
providerData: {
132+
type: 'mcp',
133+
server_label: 'deepwiki',
134+
server_url: 'https://mcp.deepwiki.com/mcp',
135+
require_approval: 'never',
136+
},
137+
} as any);
138+
139+
expect(custom.tool).toEqual({
140+
type: 'mcp',
141+
server_label: 'deepwiki',
142+
server_url: 'https://mcp.deepwiki.com/mcp',
143+
require_approval: 'never',
144+
});
128145
});
129146

130147
it('throws on unsupported tool', () => {

0 commit comments

Comments
 (0)